1.const成员
const成员:被const修饰的成员变量、非静态成员函数。
2.const成员变量
必须初始化(类内部初始化),可以在声明的时候直接初始化赋值。
非static的const成员变量还可以在初始化列表中初始化。
3.const成员函数(非静态)
const关键字写在参数列表后面,函数的声明和实现都必须带const
内部不能修改非static成员变量
内部只能调用const成员函数、static成员函数
非const成员函数可以调用const成员函数
const成员函数和非const成员函数构成重载
非const对象(指针)优先调用非const成员函数
const对象(指针)只能调用const成员函数、static成员函数
#include <iostream>
using namespace std;
class Car {
public:
const int m_price = 0;
void run() const;
void run();
void test() {
run();
}
};
void Car::run() const {
cout << "run() const" << endl;
}
void Car::run() {
cout << "run()" << endl;
}
int main() {
Car car1;
car1.run();
const Car car2;
car2.run();
getchar();
return 0;
}
4.引用类型成员
引用类型成员变量必须初始化(不考虑static情况):
- 在声明的时候直接初始化
- 通过初始化列表初始化