常成员函数在声明和实现时都要带 const
关键字
常成员函数不能修改对象的数据成员,也不能访问类中没有用 const
声明的非常成员函数。
在任何函数中都不能对常数据成员赋值。对常数据成员初始化,只能通过构造函数的初始化列表。
常对象的数据成员在它的生存期内不会被改变,因此定义常对象时必须对其进行初始化。这里的初始化可以通过初始化列表完成,也可以通过构造函数函数体来完成。
class Person {
public:
string name;
Person() {
name = "mollnn";
}
};
int main() {
const Person person;
}
常对象只能调用它的常成员函数,不能调用其他的普通成员函数。
对于常量成员函数的重载,常量对象调用常量成员函数,正常对象调用非常量成员函数。
原文地址:https://www.cnblogs.com/mollnn/p/12598987.html
时间: 2024-11-07 09:09:11