21xrx.com
2024-11-22 03:54:18 Friday
登录
文章检索 我的文章 写文章
C++类中的友元函数
2023-07-11 12:03:09 深夜i     --     --
C++类 友元函数 访问权限 非成员函数 类成员函数

在C++中,友元函数是指被类声明为友元的函数,它可以访问该类中的私有成员和保护成员。友元函数并不属于该类,但它可以被该类访问和使用。

友元函数在一些情况下非常有用,例如,当需要执行一些具有特殊权限的函数,但不想将它们作为成员函数添加到类中时,友元函数就非常有用。此外,友元函数还可以使代码更加简洁和易于维护。

为了将一个函数声明为类的友元函数,需要在类的定义中使用关键字friend。在声明中,函数名需要指定为友元函数,并且需要放在类的作用域之外。

下面展示了一个简单的示例,其中Calculator类将一个函数名为addResult()指定为友元函数:


class Calculator {

private:

  int result;

public:

  Calculator() : result(0) {}

  friend void addResult(Calculator& cal, int value);

};

void addResult(Calculator& cal, int value) {

  cal.result += value;

}

在上面的示例中,Calculator类声明了一个名为result的私有变量和一个名为addResult()的友元函数。在addResult()函数中,该类对象的私有变量可以被直接访问,因为它是一个友元函数。

当在使用友元函数时,需要注意一些事项。虽然友元函数可以访问类的私有成员和保护成员,但这种权限被限制在函数中。其他函数或外部代码无法直接访问这些资源。因此,使用友元函数时需要谨慎,只有在必要的情况下才使用。

总的来说,友元函数是C++中非常有用的特性。它使程序员可以在保持类的封装性的同时,为它们提供了更大的灵活性和控制权。但使用时需要小心处理,避免破坏类的完整性。

  
  

评论区

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