# const -常成员
一、const数据成员
1.const介绍
即限定函数或者变量只读,但是不能修改变量和内容。
2.const数据成员的初始化方式
1. 使用类内值(C++11支持)。
2. 使用构造函数的初始化列表。
(如果同时使用这两种方式,以初始化列表中的值为最终初始化结果)
注意: 不能在构造函数或其他成员函数内,对const成员赋值!
test01
const1.h//头文件
#include<string>
using namespace std;
class Human {
public:
Human();//默认构造函数
//限定函数只读,无法修改变量值
void description() const;
private:
//限定函数只读,无法修改变量值
const string bloodType;
};
const1.cpp //类成员方法的定义
#include<iostream>
#include"const1.h"
using namespace std;
// 使用初始化列表,对const数据成员初始化
Human::Human() :bloodType("未知") {
//在成员函数内,不能对const数据成员赋值
//bloodType = "未知血型";
}
void Human::description() const
{
cout<< " bloodType:" << bloodType << endl; //其他成员函数可以“读”const变量
}
main.cpp //主函数
#include"const1.h"
#include<iostream>
#include<Windows.h>
using namespace std;
int main(void) {
Human h1;
h1.description();
system("pause");
return 0;
}
结果:
bloodType:未知
请按任意键继续. . .
二、const成员函数
1.const成员函数的定义
如果一个成员函数内部,不会修改任何数据成员,就把它定义为const成员函数。
2.const成员函数使用建议
const成员函数内,不能修改任何数据成员!
如果一个对象的成员函数,不会修改任何数据成员,那么就强烈:
把这个成员函数,定义为const成员函数。
注:使用方法与const数据成员差不多。