• 2479阅读
  • 5回复

[提问]QT中多次继承QObject的问题怎么解决? [复制链接]

上一主题 下一主题
离线suzhuorui
 

只看楼主 倒序阅读 楼主  发表于: 2020-03-19
关键词: 求助问题C++

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

只看该作者 1楼 发表于: 2020-03-19
虚继承
离线samhuilong

只看该作者 2楼 发表于: 2020-03-20
建议把A作为B的一个成员,通过组合的形式取代继承。
离线angelus

只看该作者 3楼 发表于: 2020-03-20
回 samhuilong 的帖子
samhuilong:建议把A作为B的一个成员,通过组合的形式取代继承。 (2020-03-20 06:41) 

正解,推荐组合而非继承
离线suzhuorui

只看该作者 4楼 发表于: 2020-03-20
回 snow_man_0 的帖子
snow_man_0:虚继承 (2020-03-19 15:58) 

一个是QT自带,没办法虚继承
离线suzhuorui

只看该作者 5楼 发表于: 2020-03-20
回 samhuilong 的帖子
samhuilong:建议把A作为B的一个成员,通过组合的形式取代继承。 (2020-03-20 06:41) 

我试试
快速回复
限100 字节
 
上一个 下一个