C++ friend友元函数定义语法

友元函数定义

C++中的友元函数并不是某一个类中的成员函数,却可以访问该类中的private私有和procted受保护的成员,但声明友元函数的时候,则一般需要在该类中进行声明,语法是通过friend关键词进行修饰,语法如下:

friend type functionName( type )

语法解析

如上语法,友元函数的声明除了friend关键字之外,其它的与C++中普通的函数的定义基本类似,有返回值的类型,也有参数的类型,如果要用友元函数访问类中的私有成员和受保护的成员,则可以将参数的类型指定为类的名称。

提示:友元函数虽然在类中声明,但并不是该类的成员。

友元函数实例代码

#include <iostream>
using namespace std;


class Fruit{
    public:
        // 声明友元函数
        friend void getName( Fruit );
        // 声明成员函数
        void setName(string);
    
    private:
        string fruit_name;
};
// 定义成员函数
void Fruit::setName(string n){
    fruit_name = n;
}

// 定义友元函数
void getName(Fruit f){
    cout << f.fruit_name << endl;
}

int main() {

    Fruit b;
    b.setName("香蕉");
    getName(b);

    return 0;
    
}

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


全栈后端 / C++教程 :
















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