什么是类的成员函数和非成员函数?

如题所述

类有成员变量和成员函数。而函数中,不是任何一个类的成员的函数,就是非成员函数。例如:
class A{
public:
void f1(){}; // 这个就是成员函数。
void f2(); // 这个也是成员函数声明,其实现在类的外部。
};
void A::f2(){} // 这个是成员函数的实现。
void f3(){}; // 这个就是非成员函数,它不属于A,也不属于任何一起其他的类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-04
类的成员函数:
类的成员函数描述的是类的行为,是程序算法的实现部分,是对封装的数据进行操作的方法。类的成员函数的原型要写在类体中,原型说明了函数的参数表和返回值类型。而函数的定义一般在类外面,也可以直接在类内部定义。前者与普通函数不同的是,实现成员函数时要指明类的名称,具体形式为:
返回值类型 类名 ::函数成员名(参数表){函数体};
而后者一般为一些短小的函数(5行以内),也就是内联函数。

没有类的非成员函数的说法。
第2个回答  2012-11-22
在类定义时候大括号里面写的函数是成员函数,其他的就是非成员函数,希望对你有帮助!
第3个回答  2012-11-27
在类中受 private,public,protected控制的函数,叫成员函数,其他的函数都叫非成员函数
相似回答