因為引用類型的成員變量定義時需要賦值,不然其所在的類初始化時有編譯錯誤,所以一直以為不能使用引用類型的變量作為成員變量。但在探討C++的前置聲明知識時,發(fā)現(xiàn)是可以定義引用類型的成員變量的。
創(chuàng)新互聯(lián)建站擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)深耕十年,專業(yè)且經(jīng)驗豐富。十年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上1000家中小企業(yè)提供了網(wǎng)站設計制作、成都網(wǎng)站建設解決方案,定制制作,設計滿意,售后服務無憂。所有客戶皆提供一年免費網(wǎng)站維護!如下講解一下如何使用引用類型的成員變量。
//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的構造函數(shù)初始化列表中對其進行了初始化,達到了“使用引用類型的成員變量”的目的。
注意,引用類型的成員變量的初始化必須在構造函數(shù)的初始化列表中進行初始化。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。