C类和对象封装part2如何改写为长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3210个文字,预计阅读时间需要13分钟。
初始化列表+为类对象初始化(赋初值)有两种方式:+在构造函数体内直接赋值;+初始化列表+第一种方式在讨论构造函数时已说明,在创建对象时,编译器通过调用构造函数进行初始化。
初始化列表
给类的对象初始化(赋初值)有两种手段:
- 在构造函数的函数体内赋值;
- 初始化列表
第一个方式在讨论构造函数时已经进行过说明,在创建对象时,编译器通过调用构造函数给对象中的各个成员变量赋一个合适的初始值。虽然通过调用构造函数,对象的各成员变量有了一个初始值,但严格来说并不能将其称为对象成员的初始化,因为初始化只进行一次,而在构造函数体内可以进行多次赋值。事实上,初始化列表是成员变量被定义和初始化的位置。
初始化列表是构造函数的一部分,在进入构造函数体之前执行,完成对成员的定义和初始化。初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个成员变量后面跟一个放在括号中的初始值或表达式,编译器将这些初始值或表达式的返回值赋给成员变量。
class Date
{
private:
int _year; //声明位置
int _month;
int _day;
public:
Date(int year = 1912, int month = 10, int day = 10)
:_year(year), //初始化列表:定义和初始化位置
_month(month),
_day(day)
{ }
/*…………*/
};
使用初始化列表需要注意的是:
- 每个成员变量在初始化列表中最多只能出现一次,因为初始化只能进行一次。
本文共计3210个文字,预计阅读时间需要13分钟。
初始化列表+为类对象初始化(赋初值)有两种方式:+在构造函数体内直接赋值;+初始化列表+第一种方式在讨论构造函数时已说明,在创建对象时,编译器通过调用构造函数进行初始化。
初始化列表
给类的对象初始化(赋初值)有两种手段:
- 在构造函数的函数体内赋值;
- 初始化列表
第一个方式在讨论构造函数时已经进行过说明,在创建对象时,编译器通过调用构造函数给对象中的各个成员变量赋一个合适的初始值。虽然通过调用构造函数,对象的各成员变量有了一个初始值,但严格来说并不能将其称为对象成员的初始化,因为初始化只进行一次,而在构造函数体内可以进行多次赋值。事实上,初始化列表是成员变量被定义和初始化的位置。
初始化列表是构造函数的一部分,在进入构造函数体之前执行,完成对成员的定义和初始化。初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个成员变量后面跟一个放在括号中的初始值或表达式,编译器将这些初始值或表达式的返回值赋给成员变量。
class Date
{
private:
int _year; //声明位置
int _month;
int _day;
public:
Date(int year = 1912, int month = 10, int day = 10)
:_year(year), //初始化列表:定义和初始化位置
_month(month),
_day(day)
{ }
/*…………*/
};
使用初始化列表需要注意的是:
- 每个成员变量在初始化列表中最多只能出现一次,因为初始化只能进行一次。

