> RAII is completley possible in .Net with its reference variables.
http://www.hackcraft.net/raii/
disagrees with you. Please justify your claim.
Furthermore, .NET needs to not just be able to express RAII idioms, but be able to do so better than C++ in order to back this claim: "C++'s OOP usage I say its fundamentally flawed."
> > and garbage collection can be done on a per-class basis
> You mean collect all instances of a given class in scope?
No. I mean what if you want some classes to collect their garbage automatically, and others that I want to collect explicitly?
> I am not contending that there is 1 true way to OOP.
Fine. Look here:
> Just that C++ just doesn't do it well.
If you meant there were multiple ways to do OOP, you would say "Just that C++ doesn't do any of them well".
That is of course a challenge for us to find one thing OOP that C++ does well. I've already suggested RAII and object-specific garbage collection. If you manage to find some language that can do either of these better than C++, I can probably come up with more things.