C++---類成員變量定義為引用


摘要:類成員變量是可以定義為引用類型的,但是我們需要注意一下用法

note1:在類中定義引用變量, 必須要在初始化列表中初始化該成員變量(const 類型數據成員也必須在初始化列表中進行初始化)

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(n){  // 必須要在初始化列表中進行初始化
        n = k;
        cout << a <<endl;
    }
    int get() const {
        return n+1;
    }
private:
    int n;
    int &a;
};

int main(){
    A a(10);
    cout << a.get() <<endl;
    return 0;
}

// 輸出結果
// 10
// 11

note2:初始化后的引用變量所占用的內存空間和普通變量相同

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(k){}
    int &a;
};

int main(){
    A a(1);
    cout << sizeof(a) <<endl;
    return 0;
}


// 輸出結果(VS2013 32位編譯器)
// 4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM