c++++ 中友元函数访问私有成员的方法有两种:在类内声明友元函数。声明一个类作为友元类,该类中所有的成员函数都可以访问另一个类的私有成员。

C++ 友元函数访问私有成员的方法
友元函数是一种在类外部定义,但可以访问类私有成员的函数。有两种方法可以实现友元函数对私有成员的访问:
1. 声明友元函数
立即学习“C++免费学习笔记(深入)”;
在类内声明友元函数,语法如下:
class ClassName {
public:
// 类成员...
// 声明友元函数
friend void friend_function();
};这样,声明的友元函数就可以访问该类的私有成员。
2. 声明友元类
声明一个类作为友元类,该类中所有的成员函数都可以访问另一个类的私有成员。语法如下:
class ClassName1 {
public:
// 类成员...
// 声明友元类
friend class ClassName2;
};所有声明在 ClassName2 中的成员函数都可以访问 ClassName1 的私有成员。
实战案例
考虑以下 C++ 代码:
class Person {
private:
int age;
string name;
public:
// 友元函数
friend void print_person_info(const Person& person);
// 访问私有成员的友元函数
void print_info() const {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
// 友元函数外部分类的定义
void print_person_info(const Person& person) {
cout << "Name: " << person.name << endl;
cout << "Age: " << person.age << endl;
}
int main() {
Person person;
person.name = "John";
person.age = 30;
person.print_info();
print_person_info(person);
return 0;
}在这个例子中,print_person_info 函数是一个友元函数,它可以访问 Person 类的私有成员。在 Person 类中,print_info 函数也访问私有成员,它使用了友元函数声明。
运行以上代码将输出:
Name: John Age: 30 Name: John Age: 30
以上就是C++ 友元函数如何访问私有成员?的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号