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;
    
}

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.