C/C++——const成员函数

C语言:

const只能修饰变量

C++:

const修饰全局或者局部变量

const修饰成员变量

const修饰成员函数

将const修饰的“成员函数”称之为const成员函数

const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。 特性:不能修改“成员变量”

扩展:this的类型: Date* const ---->this的指向不能修改,this指向空间的值可修改

注意:如果成员函数内部一定不会修改成员变量,最后将该成员函数设置为const成员函数

普通成员函数:没有被const修饰的成员函数

思考 1. const对象可以调用非const成员函数吗?

不可以 2. 非const对象可以调用const成员函数吗?

可以 3. const成员函数内可以调用其它的非const成员函数吗?

不可以 4. 非const成员函数内可以调用其它的const成员函数吗?

可以

注:const成员函数只能调用const成员函数

如果在const成员函数中,一定要修改某个成员变量时,在定义改成员变量的时候,使用mutable关键字修饰该成员即可

fun( ) 方法中 month会报错,而day不会

取地址及const取地址操作符重载

要时刻注意const的成员函数在调用方法时,不能调用普通方法

注:代码并未全部给出,此处仅为了解取地址及const取地址操作符重载

你可能感兴趣的:(C++,c++)