21xrx.com
2024-09-20 00:22:34 Friday
登录
文章检索 我的文章 写文章
C++友元函数/类
2023-06-23 22:25:46 深夜i     --     --
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++中一种非常有用的特性,可以让程序员更容易地访问类的私有成员,但是必须谨慎使用。程序员需要根据具体情况,权衡可读性和封装性之间的平衡。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复