c++ class类友元函数怎么用

avatar
作者
猴君
阅读量:0

在C++中,类友元函数是一种特殊的函数,它可以访问类的私有和保护成员。友元函数不是类的成员函数,因此它不受类的访问控制规则的限制。

要声明一个友元函数,可以在类定义中使用friend关键字。例如:

class MyClass {     private:         int privateVar;     protected:         int protectedVar;     public:         MyClass(int var) : privateVar(var), protectedVar(var) {}         friend void accessPrivateMembers(MyClass& obj); };  void accessPrivateMembers(MyClass& obj) {     std::cout << "Private variable: " << obj.privateVar << std::endl;     std::cout << "Protected variable: " << obj.protectedVar << std::endl; } 

在上面的示例中,accessPrivateMembers函数被声明为MyClass类的友元函数。它可以访问MyClass类的私有成员privateVar和保护成员protectedVar

要调用友元函数,可以使用类对象作为参数。例如:

int main() {     MyClass obj(10);     accessPrivateMembers(obj);     return 0; } 

输出结果为:

Private variable: 10 Protected variable: 10 

需要注意的是,友元函数不是类的成员函数,因此它不受类的访问控制规则的限制。但是,友元函数也不能访问类的私有和保护构造函数和析构函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!