读书人

QObject与其的派生类之间的转换?该如

发布时间: 2012-05-02 15:36:04 作者: rapoo

QObject与其的派生类之间的转换?
有这么一个类:

C/C++ code
//a.hclass A :public QObject{       Q_OBJECT       public:          A(QObject *parent=0);          void fun1();          void fun2();      private:            int x;            int y;};//a.cppA::A(QObject *parent):QObject(parent),x(1),y(2){}void A::fun1(){        A  a=*this; //这么搞会出现错误:QObject::QObject(const QObject&)是私有的        a.fun2();}void A::fun2() {.....}

有什么解决的办法!!!


[解决办法]
改成 A *pa = this 应该是OK的,具体原因我也说不上来,查一下父类子类对象间的转换关系。
[解决办法]
添加拷贝构造函数:
C/C++ code
A(const A& a)    {        x = a.x;        y = a.y;    } 

读书人网 >QT开发

热点推荐