前项引用声明
- 使用背景:两个类互相引用时,简称 循环依赖
- 时刻注意:先定义后使用,前项引用只是打招呼不具备 类的内部定义作用
- 使用格式:
- `class a;
- class b{
a *one; //只能定义a类型的引用对象或指针 *one/ &one
public:
f(a two); //只能用到a类的符号且不涉及任何具体细节(类的公有函数和私有数据)
void f1(){ };
};
class a
{
b &two;
public:
f(b three); //以b类为数据类型,b类对象three为形参
void f2()
{
f1(); // a类的f1函数此时可被调用
}
}`