#include <iostream>
using namespace std;
class Person{
private:
int age=0;
public:
Person(int age){
this->age = age;
}
int getAge(){
return this->age;
}
// void setAge(int age){
// this->age =age;
// }
//如果没有setage 那么私有age 此时没有办法修改,C++提供了友缘函数来实现
//友元函数申明
friend void updateAge(Person * person,int age);
};
//友元函数实现
//抽象理解:此时updateAge就是person非常要好的朋友亲密无二,故此可以拿到person私有的东西并修改
void updateAge(Person * person,int age){
person->age =age;
}
int main(){
//修改私有成员
// 方式一:
// Person person = Person(22);
// cout << person.getAge() << endl;
// person.setAge(1000);
// cout << person.getAge() << endl;
// 方式二:
Person person = Person(22);
cout << person.getAge() << endl;
updateAge(&person, 99);
cout << person.getAge() << endl;
return 0;
}
C++友元函数
最新推荐文章于 2024-09-04 13:45:30 发布