为何C++没有公共基类Object?
《Java编程思想》中说“C++无法确保所有对象都属于同一个基本类型”,请问这又是为何?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
《Java编程思想》中说“C++无法确保所有对象都属于同一个基本类型”,请问这又是为何?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
因为实际需要,为了实现和兼容c的高效。
好啊,自由
因为C++的设计思想和兼容C。
而且C++是多范式语言,不单单是面向对象。
C++是不限制程序员的。怎么用随你的。而java还是有很多条条框框的。
C++最大的负担就是要兼容C,而JAVA不是,故而JAVA其实是C++--,没有负担,自然就可以重新抽象
引用来自“__JM_Joy__”的评论
java并不是万物都是对象,java的基本类型、方法就不是对象。
总之找一个最高层的东西能够抽象所有元素是好难的!
java并不是万物都是对象,java的基本类型、方法就不是对象。
总之找一个最高层的东西能够抽象所有元素是好难的!
C++的类库没有C那样统一起来,差不多每个人都可以自己写一套C++类库来使用,导致许多C++项目运行起来叫本地一次编译,可能外地到处报错
解释就是:C++并不是完全面向对象的,JAVA是严格面向对象的。所以一些设计c++并没有严格要求自身。
因为没有共同的基类,所以也就无法确保所有对象都属于同一个类型。
c++不是纯面向对象的,不过类似mfc那种框架,做成了有公共基类的
个人觉得都是为了兼容C所造成的后果,打个比方,为了兼容C,不得不继续提供结构体,事实上是类完全可以替代结构体;再比如仍然保留C的I/O流,虽然C++自己也有I/O流,但更可笑的是,一般开发时用到I/O时,大多数人选择用C的I/O流,因为效率更高。很多时候一不小心,C写成C++,C++反而写成C,总之很别扭,希望有一天他们能分家,唉,不说了