QObject与其的派生类之间的转换?该如何处理
QObject与其的派生类之间的转换?
有这么一个类:
有什么解决的办法!!!
------解决方案--------------------
改成 A *pa = this 应该是OK的,具体原因我也说不上来,查一下父类子类对象间的转换关系。
------解决方案--------------------
添加拷贝构造函数:
有这么一个类:
- C/C++ code
//a.h class A :public QObject { Q_OBJECT public: A(QObject *parent=0); void fun1(); void fun2(); private: int x; int y; }; //a.cpp A::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; }