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; }