首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C++ 對象何時能用成員運算符訪問 private 變量?

     編輯:程式設計疑難解答

核心規則

能否通過 . 或 -> 訪問 private 成員,取決於代碼所在的作用域:

  • 類內部(成員函數、友元函數):可以直接訪問同類對象的 private 成員,無論是 this->private_var 還是 other_obj.private_var(如拷貝構造函數 A(const A& s) { a = s.a; })。
  • 類外部(main、普通函數、其他類非友元方法):不可以直接訪問,編譯報錯。

典型場景:拷貝構造函數

class A {
private:
    int a;
public:
    A(const A& s) { a = s.a; } // 此處訪問 s.a 合法,因在類 A 內部
};

這正是「同類對象互訪私有成員」的經典合法用例。

記憶口訣

「類內隨便訪,類外門兒無;友元破例入,同類互通有。」

掌握作用域邊界,靈活運用封裝與友元,寫出既安全又高效的 C++ 代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved