this指针
用于非静态成员函数内部,指定所属成员。返回该类型的引用,可以return *this;
const成员函数
任何不修改数据成员的成员函数都应该声明为const类型。
Const对象只能访问const成员函数,非const对象可以访问const成员函数或非const成员函数。
Const成员函数可以调用const成员函数。非const成员函数可以调用非/const成员函数。
基于成员函数是否为const可以重载一个函数。基于一个指针形参是否指向const也可以重非const成员函数中 this类型为指向类类型的const指针。即可通过this修改类类型,但是不能修改this的指向。在const成员函数中,this为指向const类类型对象的const指针。
可变数据成员
通过使用mutable声明一个可变数据成员。该成员不能为const。即使他是const对象的成员时也如此。Mutable数据成员可以再public类里面。即使成员函数为const,也可以在其中使用可变数据成员。
类作用域
形参表和函数体处于类作用域中
在定义在类定义体外的函数中,形参表和函数体都出现在成员名之后,这些都是在类作用域中定义,所以可以不加限定而引用其他成员。(应该是this指针的原因。)
函数返回类型不一定在类作用域中
函数返回类型出现在成员函数名之前,如果函数在类定义体之外定义,则用于返回类型的名字在类作用域之外。如果返回类型使用由类定义的类型,则必须使用类限定名。