永葆初心之 const 数据成员
-
需求分析:
怎样表示人的“血型”?
血型可以修改吗? -
解决方案:
把血型定义为const数据类型(常量数据成员) -
const数据成员的初始化方式:
1.使用类内值(仅C++11支持)
2.使用构造函数的初始化列表
(如果同时使用这两种方式,以初始化列表中的值为最终初始化结果)
注意: 不能在构造函数或其他成员函数内,对const成员赋值!
定义:
const string bloodType;
实现:
//1. 类内初始值
const string bloodType = "A";
//2. 构造函数初始化列表
Human::Human() : bloodType("A") {
name = "无名";
age = 18;
}
//3. 构造函数的值初始化列表
Human::Human(string name, int age, string blood) : bloodType(blood)