21xrx.com
2025-04-23 03:41:34 Wednesday
文章检索 我的文章 写文章
C++友元函数/类
2023-06-23 22:25:46 深夜i     12     0
C++ 友元函数 友元类 封装 访问权限

C++中的友元函数/类是一种强大的工具,可以让程序员更容易地访问类的私有成员。友元函数/类是指被授权访问某个类中私有成员函数的非成员函数/类。

在C++中,类的成员函数可以访问该类的所有成员,包括私有成员。但是,如果其他函数需要访问私有成员,则需要使用友元函数。友元函数是定义在类外部的非成员函数,但是该函数被授权访问该类的私有成员。

友元函数的声明方法为:将函数名与关键字"friend"一起放在类的主体中。示例如下:

class A
{
friend void foo();
private:
  int x;
};
void foo()
  A a;
  a.x = 10//可以访问类A中的私有成员x

与友元函数类似,友元类也被授权访问该类中的私有成员。友元类的声明方法为:将类名与关键字"friend"一起放在类的主体中。示例如下:

class A
friend class B;
private:
  int x;
;
class B
{
public:
  void foo()
  
    A a;
    a.x = 10//可以访问类A中的私有成员x
  
};

需要注意的是,友元关系不能被继承或传递,只能在一个类中定义,不能在另一个类的内部访问私有成员。另外,使用友元函数/类可以增加程序的可读性和可维护性,但必须小心使用,以避免破坏类的封装性和安全性。

总之,友元函数/类是C++中一种非常有用的特性,可以让程序员更容易地访问类的私有成员,但是必须谨慎使用。程序员需要根据具体情况,权衡可读性和封装性之间的平衡。

  
  

评论区

请求出错了