c++如何在一个类中定义指向另外一个类的指针

2024-11-28 20:07:45
推荐回答(4个)
回答1:

直接定义即可。比如已有一个类class A, 再定义一个类class B,这样在B的定吵让瞎义中,就可以有一个A*类型的成升空员变量。
比如
class B
{
A * a;

};
这里的B::a就是一个A*类型的指针。
需要注滑歼意的是,要使用这种形式的定义,要么A的定义在B的上方,要么在B定义前加一个A类的声明。

class A;
class B
{
A * a;

};

回答2:

直接在类成员中定义,比如在B类中定义A类指针,A类已经定义,Class B{ A * a};

回答3:

类名 *指针名;
如 在一个类中定义指向另外一个类的指针:迹稿
class A {
public:
A();
~A();
.....

B *pt; //这个就是你要姿笑孝的,直接定义就升蠢好,但是记得要包含类B 的头文件

}

回答4:

typedef int (CallBack)(void* aParam);
class B
{
public:
static int fun(void* Param){};
};
class A
{
A(){m_CallBack = B::fun;}
public:
CallBack* m_CallBack;
};

你竖此这种情况一余世迅般都会使用观返庆察者模式来做Eg

class AObserver
{
public:

virtual void OnANotification() = 0;

}

class A
{
public:

void SetObser(AObserver* obser)(observer = obser;}

private:

AObserver* observer;

}

class B : public AObserver
{
public
void OnANotification() {}

}