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++友元 友元的定义的主要内容,如果未能解决你的问题,请参考以下文章

C++友元 友元的定义

C++友元的概念和使用的一些介绍

关于C++运算符重载和友元的概念

C++友元

c++友元

第28课 - 友元的尴尬能力