成员函数和普通函数的区别
区别:
1.成员函数是面向对象的概念,所谓的成员函数,是指一个函数作为类的成员,公有成员、私有成员或者保护成员。
2.普通函数一般有两种传递方式,按类型传递和按值传递,也就是传指针和传返回值两种情况。成员函数一般是按类型传递,也即是传指针地址
3.普通函数可以随便调用,并且无法继承和封装,成员函数根据类的不同,可以进行继承,根据公有私有的不同,调用方式也不同
https://www.cnblogs.com/ktao/p/7563246.html
成员函数和普通函数的相互调用问题
1. 在普通函数中调用成员函数,需要注意:
class AbcClass{
void func_class();
}
AbcClass *pVerDef;
void func_comm()
{
///当 外部 与 内部 的 类名相同时,需要特别注意.
//1. 当 AbcClass存在于 函数之外时
pVerDef->func_class(); //访问的是 外部 pVerDef 对象的成员函数
//2. 当 AbcClass存在于 函数之外时
AbcClass *pVerDef;
pVerDef->func_class(); //访问的是 内部 pVerDef 对象的成员函数
}
最好:有些场景,与类有关的操作,最好只在 成员函数之间 进行调用,这样可以获得更好的 “封装”。
只在类内调用 类外的普通函数;这样在船员函数中,就可以使用 this / ui 之类的指针了。?
否则,需要使用 类外 的类指针。
从而,拥有更好的 “封装”。
2. 成员函数调用普通函数
一般语法规则调用即可。