首页| 论坛| 消息

标题:QT中多次继承QObject的问题怎么解决?
作者:suzhuorui
日期:2020-03-19 14:31
内容:

自己写的一个基类A继承QObject,一个类B继承(继承与QObject类的类,如QTcpServer等)时报错,这种问题如何避免?
class A:public QOBject{};
class B:public QTcpServer,public A{};
这样写报错,原因是QTcpServer是QObject的子类,A也是QObject的子类,多次继承QObject。
但是怎么写才能避免这个问题呢?


#1 [snow_man_0 03-19 15:58]
虚继承
#2 [samhuilong 03-20 06:41]
建议把A作为B的一个成员,通过组合的形式取代继承。
#3 回 samhuilong 的帖子 [angelus 03-20 08:55]
samhuilong:建议把A作为B的一个成员,通过组合的形式取代继承。 (2020-03-20 06:41) 
正解,推荐组合而非继承
#4 回 snow_man_0 的帖子 [suzhuorui 03-20 13:52]
snow_man_0:虚继承 (2020-03-19 15:58) 
一个是QT自带,没办法虚继承
#5 回 samhuilong 的帖子 [suzhuorui 03-20 13:53]
samhuilong:建议把A作为B的一个成员,通过组合的形式取代继承。 (2020-03-20 06:41) 
我试试

回复 发表
主题 版块