为何C++没有公共基类Object?

楚兴 发布于 2015/10/25 15:41
阅读 818
收藏 0
《Java编程思想》中说“C++无法确保所有对象都属于同一个基本类型”,请问这又是为何?
加载中
0
木兰宿莽
木兰宿莽

个人觉得都是为了兼容C所造成的后果,打个比方,为了兼容C,不得不继续提供结构体,事实上是类完全可以替代结构体;再比如仍然保留C的I/O流,虽然C++自己也有I/O流,但更可笑的是,一般开发时用到I/O时,大多数人选择用C的I/O流,因为效率更高。很多时候一不小心,C写成C++,C++反而写成C,总之很别扭,希望有一天他们能分家,唉,不说了


1
首席撸肾虚
首席撸肾虚
c++不是纯面向对象的,不过类似mfc那种框架,做成了有公共基类的
0
quanwei9958
quanwei9958

解释就是:C++并不是完全面向对象的,JAVA是严格面向对象的。所以一些设计c++并没有严格要求自身。

因为没有共同的基类,所以也就无法确保所有对象都属于同一个类型。

0
百世经纶之傲笑红尘
百世经纶之傲笑红尘
C++的类库没有C那样统一起来,差不多每个人都可以自己写一套C++类库来使用,导致许多C++项目运行起来叫本地一次编译,可能外地到处报错
0
__JM_Joy__
__JM_Joy__

java并不是万物都是对象,java的基本类型、方法就不是对象。


总之找一个最高层的东西能够抽象所有元素是好难的!

0
焙焙龙
焙焙龙

引用来自“__JM_Joy__”的评论

java并不是万物都是对象,java的基本类型、方法就不是对象。


总之找一个最高层的东西能够抽象所有元素是好难的!

基本类型有对应的包装类,方法在反射中有类对应,所以java是完全的OOP语言了

0
焙焙龙
焙焙龙
C++最大的负担就是要兼容C,而JAVA不是,故而JAVA其实是C++--,没有负担,自然就可以重新抽象
0
渡世白玉
渡世白玉

因为C++的设计思想和兼容C。

而且C++是多范式语言,不单单是面向对象。

C++是不限制程序员的。怎么用随你的。而java还是有很多条条框框的。

0
linshenqi
linshenqi
好啊,自由
0
Tocy
Tocy
因为实际需要,为了实现和兼容c的高效。
返回顶部
顶部