const的应用

148 阅读1分钟

# 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数据成员差不多。