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