21xrx.com
2024-09-20 00:33:40 Friday
登录
文章检索 我的文章 写文章
"friend" 在 C++ 中的含义是什么?
2023-06-29 05:06:11 深夜i     --     --
friend C++ 意义 友元函数 友元类

在C++中,“friend”是一个关键字,用于描述类之间的访问权限。一个类中的成员函数可以访问该类中的私有数据和成员变量,但是其他不属于该类的函数不能访问这些私有数据。但是有时候我们需要在类的外部函数中访问这些私有变量。这时,使用“friend”关键字可以将该函数声明为该类的友元函数,从而使该函数能够访问该类中的私有数据。

一个友元函数定义的方式是在类的内部声明一个函数,并在其前面加上关键字“friend”。这个友元函数在定义上不需要再次声明关键字“friend”,而且它可以访问该类的私有成员变量和函数,如下所示:


class MyClass {

 private:

  int data;

 public:

  void setData(int d);

  friend void friendFunction(MyClass obj);

};

void MyClass::setData(int d)

 data = d;

void friendFunction(MyClass obj)

 obj.data = 10; // 可以访问私有成员变量

需要注意的是,友元关系是单向的,即如果 A 类中的某个函数是 B 类的友元函数,则 B 类中的函数并不自动成为 A 类的友元函数,它需要在 A 类中重新声明。

总之,“friend”是C++中的一个重要关键字,它允许我们通过友元函数在类的外部访问私有数据和函数,灵活地控制类之间的访问权限。

  
  

评论区

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