Click here to Skip to main content
15,921,548 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear sir;

why c++ is fully object oriented

Thanks in advance;

Dalia
Posted

I dispute vehemently that C++ is fully object oriented. Please read what Bjarne Stroustrup the inventor of C++ has to say about that here: http://www2.research.att.com/~bs/oopsla.pdf[^].
Here is the abstract:

"C++ directly supports a variety of programming styles. In this, C++ deliberately differs from languages designed to support a single way of
writing programs. This paper briefly presents key programming styles directly supported by C++ and argues that the support for multiple styles is one
of its major strengths. The styles presented include: traditional C style, concrete classes, abstract classes, traditional class hierarchies, abstract
classes and class hierarchies, and generic programming. To provide a context for this overview, I discuss criteria for a reasonable and useful
definition of ‘‘objectoriented programming."


The part that that I emboldened tells all. Since traditional C style is not object oriented C++ cannot be fully object oriented. If you meant to say something else with your question you will have to either edit your question or leave a comment explaining what you meant to say.

[Edit]
The interpretation of OP's question really depends on what OP meant by "fully". I'll see if OP will clarify this. While it is possible to write fully object oriented software with C++ it does not mean at the same time that every C++ program was written in an object oriented fashion. The choice depends on the author of that software.
[/Edit]

Regards,

Manfred
 
Share this answer
 
v3
Comments
Guyverthree 6-Mar-12 7:34am    
Agree you can do OOP in C++, but it is by no means the only way of using it.
Stefan_Lang 7-Mar-12 5:53am    
I agree with all, especially your doubts about the meaning of the term "fully". I can't think of any meaningful interpretation in this context, except, maybe, that C++ "fully" supports all relevant mechanisms of OOP. But even that is a somewhat doubtful statement, since, technically, all turing complete programming languages can be used to emulate these OOP mechanisms, it may just be a lot harder in some...
C++ supports OOP (it provides the fundamental pillars of it). That's all.
C++, as Manfred noted, it is not limited to OOP, it allows, for instance, structural programming as well.
The 'fully object orientated' property of a programming language is, in my opinion, an arguable concept. For instance one may point out that languages providing single rooted class hierachies (like Java) are 'more fully' object oriented than C++.
 
Share this answer
 
v2
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900