是C ++完全面向对象的语言吗?(Is C++ completely object oriented

2019-09-01 20:38发布

我读到关于小谈被完全面向对象的..是C ++也是完全面向对象的? 如果没有..然后为何如此?

Answer 1:

不,事实并非如此。 你可以写一个有效的,良好的编码,优异风格的C ++程序,而不使用对象,甚至一次。

C ++支持面向对象的编程,但OO不是固有的语言。 事实上,主要功能是不是一个对象的成员。

在Smalltalk或Java,你不能没有至少一类系鞋带(或写“你好,世界”)。

(当然,一个可以争论的Java是一种完全面向对象的语言也是如此,因为它的原语(比如,INT)不是对象。)



Answer 2:

C ++包含一个“C”方言为一个子集,从而允许的代码纯属程序样式。



Answer 3:

大论据人反对,宣布C ++作为“纯” OO是,它仍然需要至少一个非OO位, main()而不是一切都是对象( intlong等)。

它还公开了操纵的对象的状态,而无需使用消息传递范例(公共成员)。 这打破对象的封装。

Java中,在另一方面,有main()只是一个静态类的方法,所以它更接近,但它仍具有非对象的东西吧。

Smalltalk是用得上通常奉为纯最纯的,但我不知道有足够的了解作出评论。

我,我倾向于离开这些种类的论据,知识分子,而我得到与开发代码和提供给我的客户:-)



Answer 4:

定义OOL。 如果你的意思是使用类等,然后C ++支持以及其它编程OO风格。 没有什么阻止你不使用类。 Java的OTOH,不允许,但类。 (是的,我知道Java支持FP)。



Answer 5:

简短的回答是否定的 - C ++也不是完全面向对象的语言。 你可以写“不完全” OOP使用C ++,即使没有诉诸使用C子集。 其中一个例子是你的主要方法 - 这是不包含在任何类。

主要的原因是,C ++起源于C中的事实 - 当Stroustrup的创造,他旨在创建C的新版本(带班)的语言。 事实上,他已经试图向他的创作为C(C84)的新口味。



Answer 6:

C ++是不是一个纯面向对象的语言,并且已经只字不提强迫你使用OOP概念在C ++中。 C ++是你所谓的混合面向对象的语言,因为它是基于C这是一个纯粹的程序语言。

纯面向对象语言的例子是C#和Java。



Answer 7:

不,它不是一个纯粹的面向对象语言。 在用C特别基本数据类型++具有不同于不属于原始数据类型频繁不同的规则。 另外,可以有不与任何数据类型的所有相关功能。 还有其它无数种方法,其中C ++是不是一个纯面向对象的语言,但是这是两个最大的原因。

无论是Java和C#是纯面向对象的语言或者是因为他们有不服从相同的语义“对象”数据类型基本数据类型。



Answer 8:

当然不是!! 它支持内部数据类型。



Answer 9:

C ++是什么,但“带类的C”。 我仍然可以写一个C程序,并将其保存为.cpp文件。 所以,证明暗示说:“C ++是不是一个纯粹的面向对象语言。”



文章来源: Is C++ completely object oriented language?
标签: c++ oop