C++ 中使用引用类型的成员变量
因为引用类型的成员变量定义时需要赋值,不然其所在的类初始化时有编译错误,所以一直以为不能使用引用类型的变量作为成员变量。但在探讨C++的前置声明知识时,发现是可以定义引用类型的成员变量的。
如下讲解一下如何使用引用类型的成员变量。
//AAA.h#pragmaonceclassBBB;classAAA{public:AAA(BBB&x);~AAA();private:BBB&b;};#include"AAA.h"AAA::AAA(BBB&x):b(x){}AAA::~AAA(void){}//BBB.h#pragmaonceclassAAA;classBBB{public:BBB(void);~BBB(void);voidNewAAA();private:AAA*a;};//BBB.cpp#include"BBB.h"#include"AAA.h"BBB::BBB(){NewAAA();}BBB::~BBB(void){}voidBBB::NewAAA(){BBBb;a=newAAA(b);}//main.cpp#include<iostream>intmain(){return0;}
如上程序所示,在AAA的头文件中定义了引用类型的成员变量,在AAA的构造函数初始化列表中对其进行了初始化,达到了“使用引用类型的成员变量”的目的。
注意,引用类型的成员变量的初始化必须在构造函数的初始化列表中进行初始化。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。