常用对象和常用成员函数

常量对象与常量成员函数来防止修改对象,实现最低权限原则。

常用对象和常用成员函数_第1张图片

Obj被定义为常量对象的情况下,下面这条语句是错误的。

错误的原因是常量对象一旦初始化后,其值就再也不能改变。因此,不能通过常量对象调用普通成员函数,因为普通成员函数在执行过程中有可能修改对象的值。

可以通过常量对象调用常量成员函数

常量成员函数就是在定义时加了const关键字的成员函数。

常用对象和常用成员函数_第2张图片

C++不允许在常量对象上调用成员函数,除非成员函数本身也被声明为常量。甚至对不会修改对象的成员函数,也是如此,此外,编译器不允许声明常量的成员函数修改对象。

对一般情况下,通常修改对象的构造函数和析构函数而言,它们不允许被声明成const

尽管构造函数必须是非常量成员函数,但它仍然可用于初始化常量对象。

初始化列表出现在构造函数的参数表 和 表示构造函数函数体开始的左大括号之间。成员初始化列表用冒号和参数表隔开。

常用对象和常用成员函数_第3张图片

常量数据成员(常量对象和常量变量)以及被声明为引用的数据成员,都必须用成员初始化列表初始化,在构造函数中对这些类型的数据赋值是不允许的。
 

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