类互相包含并调用类成员函数
A.h文件
class B//前向声明能够在ClassA中使用·B的引用和指针
class A
{
private:
B &b//只能是引用·或者指针
int a;
public:
void set();
void setb();
}
A.cc文件·
#include"A.h"
#include"B.h"//要想使用B类对象的成员函数必须包含头文件
A::A(/* args */)
{
}
A::~A()
{
}
void A::set()
{
a=a+2;
}
void A::set()
{
b.set();
}
B.h文件
#include"A.h"//直接包含头文件
class B
{
private:
A a;//可直接声明为对象
int b;
public:
void set();
void seta();
}
B.cc文件·
#include"B.h"
A::A(/* args */)
{
}
A::~A()
{
}
void A::set()
{
b=b+2;
}
void A::seta()
{
a.set();
}