const成员变量、const成员函数和const对象
const成员变量的特性:
1.初始化 const 成员变量只有一种方法,就是通过参数初始化表。
格式: const int num;
const成员函数的特性:
1.可以访问成员变量,但不能修改成员变量。
2.不能调用非const成员函数,因为成员函数可以修改成员变量的值。
格式: void fun() const { // 代码 }
const对象的特性:
1.可以访问成员变量,但不能修改成员变量。
2.不能调用非const成员函数。
格式: const 类名 对象名(实参名); 类名 const 对象名(实参名);
程序实例:
#include <iostream> using namespace std; class Demo { private: int num; public: // 参数初始化表,初始化const成员变量 Demo() : num(98) { cout << "调用构造函数" << endl; } void setNum() { num = 100; } void printNum() const { // setNum(); //此处调用会报错,原因:const成员函数不能调用非const成员函数 cout << "打印num:" << num << endl; } }; int main(int argc, char *argv[]) { // const对象 const Demo demo; demo.printNum(); return 1; } 输出: 调用构造函数 打印num:98