************请教各位BCB高手,VCL真的不允许多重继承合虚基类吗,请各位帮忙************

MyLiren 2002-09-07 06:27:50
我最近看了本书,上面写着VCL限制很多,不允许多重继承,不允许虚基类,VCL派生类不能编译生成构造函数副本合赋值操作符,这些是不是真的,小弟我刚学BCB,所以请教各位高手,还有请教各位,CLX有哪些书上介绍了,请推荐几本好吗,如果VCL有限制的话,那么CLX也有这些限制吗,谢谢,送分!!!!!!
...全文
63 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
szbug 2002-09-07
  • 打赏
  • 举报
回复
向高手学习....
  • 打赏
  • 举报
回复
borland的VCL和CLX组件库都是object pascal底层实现的。
显然CLX一样也失去了多继承的能力。但这样的能力并不是必需的。
C++发展到今天,OO也只是C++风格的一个侧面,STL这样基于模板的新特性,甚至连OO都谈不上,是不是用多继承,大家都是很值得商榷的。
诚然VCL这样的做法,多多少少伤害了我们的感情。事实上,至今仍没有一个商业编译器可以完整的表现C++ ISO标准的全部阿...

嗬嗬,Borland这样一个商业公司,由他自己选择实现的权利。在以Object pascal为核心的战略面前,能不能实现多吉成这样一个大家一直在吵吵,又不是非要不可得东东面前。嗬嗬,我也会忘了多继承的...

BCB的C++ compiler还是支持多继承的...只是不要使用VCL。这就是Borland一个在炮火中生存下来的公司,VCL一个无奈的选择。。。
bcb_fans 2002-09-07
  • 打赏
  • 举报
回复
像高手学习.......
耙子 2002-09-07
  • 打赏
  • 举报
回复
Object Pascal 的主要倡导者可以说就是borland ,实在C++标准之后出来的,他的OO只随意不允许多重继承是在权衡了利弊之后的取舍。
多重继承的优点是建立对象简单,但是它父类复杂也是有目共睹的。
现在的观念也来越证明单一继承的好处,语法简单简单、逻辑清楚。java
可以说大部分采用了c++的思想,但是却舍弃了指针和多重继承,也是这个原因。理论上已经这证明,多重继承完全可以转化为单重继承。

每个语言权衡的方面可能不同,得到的结果自然不同了。

Object Pascal的很多地方语法都比 c++简单,甚至优秀,类的内部实现更是区别很大,这也是pascal编译器为什么速度远快于c++编译器的原因。
kingcaiyao 2002-09-07
  • 打赏
  • 举报
回复
上面已经说了,VCL类库本身并不是由C++写的,而是由Object Pascal写的,Object Pascal并不支持多重继承.在标准的C++中当然可以多重继承.MFC类库支持多重继承,因为它的类库是由C++写的.
CXQQ 2002-09-07
  • 打赏
  • 举报
回复
为啥MFC允许???
MFC类库比组件类库好吗!!!???
我喜欢宝蓝的组件,MFC迟早要把API封装成组件,但是,宝蓝应该允许多重继承的,真衰,没脾气了

请教CLX允许多重继承吗,向各位红星战友们请教
whitelion 2002-09-07
  • 打赏
  • 举报
回复
学习
kingcaiyao 2002-09-07
  • 打赏
  • 举报
回复
因为VCL是Object Pascal编写的.VCL不支持多重继承,但可以使用聚合技术,即是说可以在一个类中用一个类作为该类的成员.
耙子 2002-09-07
  • 打赏
  • 举报
回复
VCL 的这些限制是来自object pascal的。
不要认为这些限制不好,java同样不允许多重继承。

因为从理论上讲完全可以不用多重继承,因为多重继承的负面也是很大的,首先是逻辑很乱。
BC下的TurboVision 和 TP下的TurboVision虽然都是TV,但是TP的TV就没用多重继承,而且你会发现他和Delphi的VCL多么的类似,从名字到继承关系。
jishiping 2002-09-07
  • 打赏
  • 举报
回复
VCL不允许多重继承,这是真的。如果不是用VCL的类派生,就可以多重继承
了。“不允许虚基类”,没有的事。VCL的TObject就是一个虚基类啊,所有
的VCL的类,都是由TObject及它的派生类派生出来的。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧