成员函数和普通函数:相互调用问题 (**)

本文讨论了成员函数和普通函数在概念、调用方式和封装性上的差异,强调了在类内与类外调用的适宜场景,以实现更好的封装。
摘要由CSDN通过智能技术生成

成员函数和普通函数的区别

区别:
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. 成员函数调用普通函数

一般语法规则调用即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值