• 3788阅读
  • 2回复

怎么共用一个类 [复制链接]

上一主题 下一主题
离线chcqqq123
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-22
在文件A.h 和A.cpp有类X
在文件Bh 和B.cpp有类Y
在文件C.h 和C.cpp有类Z

我想在类Y和Z中用到类X
如果不用承继的方法,有什么方法可以做到?
离线chcqqq123
只看该作者 1楼 发表于: 2009-05-22
////////////////A.h//////////////////
class A : public QWidget
{
public:
A(QWidget *parent = 0, const char* name=0);
void init_A();
}

//////////////A.cpp///////////////////

void A::init_A(){}

////////////////B.h//////////////////
class A : public QWidget
{
public:
B(QWidget *parent = 0, const char* name=0);
A *a;
void init_B();
}

//////////////B.cpp///////////////////
B::B( QWidget *parent, const char* name):
QWidget(parent,name)
{
a = new A();
}

void B::init_B()
{
a->show();
a->setFocus();
}

////////////////C.h//////////////////
class C : public QWidget
{
public:
C(QWidget *parent = 0, const char* name=0);
void init_c();
A *a;
}

//////////////C.cpp///////////////////
C::C( QWidget *parent, const char* name):
QWidget(parent,name)
{
a = new A();
}

void C::init_C()
{
a->show();
a->setFocus();
}

我现在就是在B跟C中做了重复的操作,有什么办法可以简化?
离线rqzrqh

只看该作者 2楼 发表于: 2009-05-24
B和C都包含A.h,
嵌套定义太麻烦了
快速回复
限100 字节
 
上一个 下一个