C++:一个函数是member function还是只是part of the interface

根据C++primer 5th的7.1节和7.2.1的第一段,我的理解是

一个函数的声明,如果是在包含一个类的定义的头文件里(可能在class定义里面的public中,也可能在class的定义外面),则这个函数就是这个类的interface的一部分。


而一个函数,只要是在一个类的定义中间出现,不管它是在类的public部分还是private部分,它都是这个类的member function。


**************************************************************************************************************************************

区别以上两个概念有什么用呢?作用在于(我的理解):

关于interface的情况:

如果你想知道有哪些东西,是你在使用这个类的时候可以用的,那么你就要关注,这个类的interface定义了什么;

如果你是这个类的作者,你就要关注哪些东西是你允许别人使用的,就要放到intereface里面。

因此,你需要明确你可以怎么样给出interface:在class definition里的public,和header中class definition外的部分。


关于member function的情况:

当你编写了一个函数时,你需要明确这个函数能不能使用一个类的private对象时,你就要需要知道这个函数是不是这个类的member function。

如果一个函数不是member function,但是需要使用private对象时,你可以声明其为friend(对于另一个class也成立)。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值