温馨提示×

C++友元函数怎么定义和使用

c++
小亿
105
2023-10-11 06:48:06
栏目: 编程语言

C++友元函数是指一个非成员函数可以访问类的私有成员和保护成员。以下是定义和使用C++友元函数的步骤:

  1. 在类的声明中声明友元函数。

  2. 在类的定义中定义友元函数。

  3. 在友元函数的实现中访问类的私有成员和保护成员。

下面是一个例子:

// 声明类
class MyClass {
private:
int privateData;
public:
MyClass(int data);
// 声明友元函数
friend void friendFunc(MyClass obj);
};
// 定义类的构造函数
MyClass::MyClass(int data) {
privateData = data;
}
// 定义友元函数
void friendFunc(MyClass obj) {
// 访问类的私有成员
cout << "私有成员的值是: " << obj.privateData << endl;
}
int main() {
MyClass obj(10);
// 调用友元函数
friendFunc(obj);
return 0;
}

在上面的例子中,我们声明了一个名为friendFunc的友元函数,并将其声明为MyClass类的友元。在友元函数的实现中,我们可以访问MyClass类的私有成员privateData。然后在主函数中,我们创建了一个MyClass对象obj并调用了friendFunc函数。

输出结果将会是:

私有成员的值是: 10

注意:友元函数不是成员函数,因此在定义时不需要指定作用域操作符::。在友元函数中可以直接访问类的私有成员和保护成员,无需通过对象或指针访问。

0