/********** クラスhito1 **********/
class hito1 {
private:
int age;
public:
hito1(int age) {this->age = age; }
friend hito2; // フレンドクラス指定
};
/********** クラスhito2 **********/
class hito2 {
public:
void func1(hito1 obj);
void func2(hito1 obj);
};
void hito2::func1(hito1 obj) {
obj.age = 20; // privateメンバ変数にアクセス
}
void hito2::func1(hito1 obj) {
obj.age = 20; // privateメンバ変数にアクセス
}
/********** main関数 **********/
void main(void) {
hito1 satou(10);
hito2 suzuki;
suzuki.func1(satou); // フレンドクラスのメンバ関数呼び出し
suzuki.func2(satou); // フレンドクラスのメンバ関数呼び出し
}
|