首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

C++ 類引用成員變量:正確聲明與初始化全指南

     編輯:C++ 入門

引用成員特性

引用是變量別名,聲明時必須初始化,且不可重新綁定。類中聲明引用成員:

class B {
    A& ref_; // 必須在構造函數初始化列表中綁定
public:
    B(A& a) : ref_(a) {} // 正確:初始化列表
    // B(A& a) { ref_ = a; } // 錯誤:函數體內是賦值而非初始化
};

關鍵限制

  1. 含引用成員的類不能有默認構造函數(無法初始化引用)
  2. 引用成員必須在初始化列表中綁定,不能在構造函數體賦值
  3. 被引用對象生命周期必須 ≥ 引用成員所在對象

對比:指針 vs 引用 vs 值成員

類型聲明可空可重綁定初始化位置
指針A* p;是是列表或函數體
引用A& r;否否僅初始化列表
值A obj;否N/A列表或函數體

代碼示例

class A { public: void print() { cout << "A\n"; } };
class B {
    A& r_; A* p_;
public:
    B(A& a) : r_(a), p_(&a) {}
    void test() { r_.print(); p_->print(); }
};
int main() { A a; B b(a); b.test(); }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved