c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(二十)不可修改的对象
c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(二十)不可修改的对象
1.可以设置函数为const,如:
void f() const
{
}
表示在这个函数中this为const,即次函数不修改任何成员变量的值,这种使用方式需要在原型和定义时都加上const。
若类中的一个成员变量定义为const,也必须要在构造函数列表进行初始化。
2.若将一个类的对象定义为const,则必须要有构造函数初始化其中的成员变量,因为成员变量不能被改变,必须初始化一个初值。
3.两个成员函数若一个定义为const,另一个定义为正常(非const),则两个函数可以构成重载。两个函数构成重载的必要条件是两个函数的参数表不同,这两个函数的参数表实际是不同的,因为他们一个的参数是“const 类名* this”,另一个的参数是“类名* this”。(fun(const this a) fun(this a) )
4.若一个类的对象定义为const,如:const A a;则在调用成员函数时必须使用const格式的成员函数,若没有const格式的成员函数,则报错,编译不通过。
5.Tips:
a)类定义的后面一定要加“;”
b)构造函数和析构函数没有返回类型
c)如果有一个成员变量为const,不能把他作为数组的大小,但可以用枚举实现
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
