C++友元函数是指一个非成员函数可以访问类的私有成员和保护成员。以下是定义和使用C++友元函数的步骤:
1. 在类的声明中声明友元函数。
2. 在类的定义中定义友元函数。
3. 在友元函数的实现中访问类的私有成员和保护成员。
下面是一个例子:
```cpp
// 声明类
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
```
注意:友元函数不是成员函数,因此在定义时不需要指定作用域操作符`::`。在友元函数中可以直接访问类的私有成员和保护成员,无需通过对象或指针访问。