直接定义即可。比如已有一个类class A, 再定义一个类class B,这样在B的定吵让瞎义中,就可以有一个A*类型的成升空员变量。
比如
class B
{
A * a;
};
这里的B::a就是一个A*类型的指针。
需要注滑歼意的是,要使用这种形式的定义,要么A的定义在B的上方,要么在B定义前加一个A类的声明。
如
class A;
class B
{
A * a;
};
直接在类成员中定义,比如在B类中定义A类指针,A类已经定义,Class B{ A * a};
类名 *指针名;
如 在一个类中定义指向另外一个类的指针:迹稿
class A {
public:
A();
~A();
.....
B *pt; //这个就是你要姿笑孝的,直接定义就升蠢好,但是记得要包含类B 的头文件
}
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() {}
}