重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
因为引用类型的成员变量定义时需要赋值,不然其所在的类初始化时有编译错误,所以一直以为不能使用引用类型的变量作为成员变量。但在探讨C++的前置声明知识时,发现是可以定义引用类型的成员变量的。
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、成都网站建设、网站策划、网页设计、申请域名、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
如下讲解一下如何使用引用类型的成员变量。
//AAA.h #pragma once class BBB; class AAA { public: AAA(BBB &x); ~AAA(); private: BBB &b; }; #include "AAA.h" AAA::AAA(BBB &x) : b(x) { } AAA::~AAA(void) { } //BBB.h #pragma once class AAA; class BBB { public: BBB(void); ~BBB(void); void NewAAA(); private: AAA *a; }; //BBB.cpp #include "BBB.h" #include "AAA.h" BBB::BBB() { NewAAA(); } BBB::~BBB(void) { } void BBB::NewAAA() { BBB b; a = new AAA( b ); } //main.cpp #includeint main() { return 0; }
如上程序所示,在AAA的头文件中定义了引用类型的成员变量,在AAA的构造函数初始化列表中对其进行了初始化,达到了“使用引用类型的成员变量”的目的。
注意,引用类型的成员变量的初始化必须在构造函数的初始化列表中进行初始化。