C++中的类成员函数

<分析>:将自己觉得类成员函数中需要注意的地方总结成以下几点:

(1)编译器隐式的将类内定义的成员函数当作内联函数;

(2)每个成员函数都有一个额外的、隐含的this指针,在调用成员函数时,参数this初始化为调用函数的对象的地址,在成员函数形参表中显式包含this指针是非法的,但是在函数体中可以显式包含。

(3)常成员函数实质就是this指针是const的。所以const对象只能调用其const成员函 数;非const对象可以调用其const成员函数和非const成员函数。

(4)const成员函数在定义和声明的时候都要指定const关键字。

(5)const成员函数是指不可以更改对象内任何non-static成员变量,但有个特例可以更 改mutable修饰的非const成员变量,也可以修改静态成员变量。

(6)在类外定义成员函数的返回类型与函数声明必须完全一致;

(7)构造函数与析构函数是特殊的类的成员函数;

(8)避免返回handle(包括引用,指针,迭代器)指向对象内部的类对象,因为这样会破坏封装性,比如一个矩形的类A中包含了带有point类B的成员对象b(handle),b   是私有,但是如果你在类A中有个成员函数返回b的引用,那么就可以修改b,造成b 不封装,b的寿命比A对象还要长的假象,同时还可能造成悬垂handle,因为当我们删 除对象a时,那么返回的handle就悬垂了。(有些情况下必须得用,比如[]操作符的  返回)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值