C++ 友元类定义和用法
友元类
C++中什么是友元类?其实,友元类和友元函数类似,通常都在某一个类中通过friend关键字声明,而且都可以用于访问该类中的私有成员private和保护成员procted,但都不是该类中的成员。与友元函数不同的是,友元类是一个类class,而不是函数,除此之外,声明友元类的时候,需要在friend后面使用class关键字,其语法如下:
friend class className
提示:友元类不是某一个类的成员,不可以通过该类的实例使用访问运算符进行访问。
提示:友元类单向性的,比如B类是A类的友元类,那么B类可以访问A类中的私有成员和保护成员,但A类是不可访问B类中的私有成员和保护成员。
友元函数实例代码
如下实例代码,将为Fruit类定义一个友元类Food,并用友元类访问Fruit中的成员
#include <iostream>
using namespace std;
class Fruit{
private:
string fruit_name;
// 声明友元类
friend class Food;
};
// 定义友元类
class Food{
public:
Fruit a;
void setName( string n){
a.fruit_name = n;
}
void getName(){
cout << a.fruit_name << endl;
}
};
int main() {
// 实例化一个Food实例
Food food;
food.setName("桃子");
food.getName();
return 0;
}
免责声明:内容仅供参考,不保证正确性。