non-member 函数是什么意思
时间: 2024-09-06 18:06:39 浏览: 23
non-member函数是指不属于任何类的成员函数,它是一个全局函数或者属于某个命名空间的函数。与类的成员函数(即成员函数)不同,non-member函数不需要通过类的对象或类名来调用,它们通常是直接通过函数名来调用的。
non-member函数可以访问类的public和protected成员,但这种访问是有限制的。为了访问类的private成员,通常需要通过类提供的public成员函数接口。此外,non-member函数通常用于实现与类的接口设计相关的一些操作,比如一些辅助功能或者对类对象进行操作的全局函数。
例如,在C++中,non-member函数可以定义如下:
```cpp
class MyClass {
public:
int value;
MyClass(int val) : value(val) {}
void display() const { std::cout << "Value: " << value << std::endl; }
};
// 这是一个non-member函数
void display MyClassInfo(const MyClass& obj) {
std::cout << "Class info: " << obj.value << std::endl;
}
int main() {
MyClass obj(10);
display MyClassInfo(obj); // 调用non-member函数
return 0;
}
```
在这个例子中,`display MyClassInfo` 是一个non-member函数,它接受一个`MyClass`对象作为参数并输出相关信息。