C++ 友元函数 友元类

时间:2022-01-05 19:07:11
#include <stdio.h>
#include <iostream>
using namespacestd;
//友元函数
class Girl{
public:
    friendvoid changeAge(Girl *girl,int age);//友元函数
    friendclass Boy;//友元类
    int tell();
private:
    int age;
};
int Girl::tell(){
    cout<<"age:"<<age<<endl;
    return0;
}
void changeAge(Girl *girl,int age){
    girl->age = age;
}
//友元类
class Boy{
public:
    Boy(Girl girl){
        this->girl = girl;
    }
    void introduce(){
        cout<<"介绍girl年龄: "<<girl.age<<endl;
    }
    void changeGirl(){
        girl.age =28;
    }
private:
    Girl girl;
};
int main(){
    /* 
     Girl * girl = new Girl();
    girl->tell();
    changeAge(girl, 16);
    girl->tell();
    delete girl;
    return 0;*/
    Girl girl;
    Boy boy =Boy(girl);
    boy.introduce();
    boy.changeGirl();
    boy.introduce();
    return0;
}