C++类中的全局函数举例
时间: 2023-07-11 19:10:32 浏览: 175
一种VC++全局函数实现方法举例
以下是一个示例,展示了如何在C++类中定义和使用全局函数:
```c++
#include <iostream>
using namespace std;
class MyClass {
private:
int x;
public:
MyClass(int a) {
x = a;
}
int getX() {
return x;
}
friend void printX(MyClass obj);
};
void printX(MyClass obj) {
cout << "x value is: " << obj.x << endl;
}
int main() {
MyClass obj(5);
printX(obj);
return 0;
}
```
在上面的示例中,我们定义了一个 MyClass 类,该类包含一个私有变量 x 和一个公共成员函数 getX()。我们还定义了一个全局函数 printX(),并将其声明为 MyClass 类的友元函数。在 main() 函数中,我们创建了 MyClass 对象 obj 并调用了 printX() 函数,该函数可以访问 MyClass 类的私有变量 x。
输出结果为:
```
x value is: 5
```
注意,全局函数可以访问类的私有成员,但是这并不意味着应该经常使用友元函数。友元函数打破了封装性原则,因此应该仅在必要的情况下使用。
阅读全文