C++友元 友元的定义
Posted Linux编程学堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++友元 友元的定义相关的知识,希望对你有一定的参考价值。
友元的定义
在一个类中可以有公用的(public)成员和私有的(private)成员。在类外可以访问公用成员,只有本类中的函数可以方法本类的私有成员。例如:
class student
private: //私有成员
char name[32]; //姓名
public: //公用成员
char addr[32]; //家庭地址
long long number; //电话号码
public: //公有成员
void print()
cout << "name = " << name << endl;
cout << "addr = " << addr << endl;
cout << "number = " << number << endl;
private: //私有成员
long long get_number()
return number;
;
此时,定义了一个student类。在类中定义name成员变量和get_number()成员函数是“private私有”属性。所以,只能够在类内访问。不可以在类外访问。对于addr, number成员变量和print()成员函数,是“public公有”属性,所以,可以在类外访问。
那么,有没有一些办法,可以让类的private成员可以被某些指定的对象访问?例如,可以授权给某些对象,让它可以访问类的private成员。
现在,我们来学习C++的一个新特性:友元(friend)。
friend 的意思是朋友,或者说是友好,与友好的关系显然要比一般人亲密一些。那么,一些比较隐私的事情,可以与朋友一起沟通,让朋友知道。那么,在C++中,这种“朋友”关系以关键字 friend 声明。中文多译为“友元”。友元可以访问与其有友好关系的类中的私有成员。友元包括友元函数和友元类。
例如有C++类TestA和TestB,其中,TestA是TestB的“友元”,那么,TestA是TestB的朋友,可以访问TestB类的私有成员。
以上是关于C++友元 友元的定义的主要内容,如果未能解决你的问题,请参考以下文章