C++中的友元函数和友元类用于在类的外部访问类的私有成员。它们的使用如下:

友元函数
在C++中,可以使用 friend关键字声明一个函数为类的友元函数。这意味着该函数可以访问类的私有和受保护成员。友元函数不是类的成员函数,但可以访问类的非公有成员。

class MyClass {
private:
    int privateVar;

public:
    MyClass(int x) : privateVar(x) {}

    friend void friendFunction(MyClass obj);
};

void friendFunction(MyClass obj) {
    cout << "Friend function can access privateVar: " << obj.privateVar << endl;
}

友元类
使用 friend关键字,还可以将一个类声明为另一个类的友元类。这意味着被声明为友元类的类可以访问另一个类的私有成员。

class FriendClass {
public:
    void accessPrivateMember(MyClass obj) {
        cout << "Friend class can access privateVar: " << obj.privateVar << endl;
    }
};

class MyClass {
private:
    int privateVar;

    friend class FriendClass;

public:
    MyClass(int x) : privateVar(x) {}
};

通过这种方式,FriendClass可以访问 MyClass的私有成员。

总之,友元函数和友元类为C++中实现访问权限更灵活的机制。但需谨慎使用,以保持封装性和代码安全性。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 08 月 14 日
如果觉得我的文章对你有用,请随意赞赏