C++ 同類不同對象的互相訪問


C++ 同類不同對象的互相訪問

C++ 允許同一個類的不同對象(實例)訪問彼此的私有成員。

示例

#include <iostream>

using namespace std;

class Person {
private:
    // 年齡 私有
	int _age; 
public:
	Person(int age) {
		_age = age;
	}

	// 計算兩個人的年齡差
	int calGen(Person obj) {
		return abs(_age - obj._age);
	}
};


int main() {
	Person young(20);
	Person elder(50);
	cout << young.calGen(elder);
}

// 輸出結果 30

在Person類成員函數 calGen()中,我們明顯地調用了另一個Person類的私有成員_age。而這樣做是不會有任何問題的。

這體現了OOP的一種哲學,封裝是針對類而不是對象,相同類之間所有的成員都是public,在類的成員函數中可以訪問同類型實例對象的私有成員。


免責聲明!

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



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