概要
本篇函数只要内容有构造函数的初始化、const对类中变量修饰和对对象修饰的问题。
构造函数与初始化
初始化与赋值
对于内置类型来说,变量的初始化可以放在变量定义的时候。但是先定义变量再赋值, 与初始化还是不同的。
int a = 0;
int a ; a = 0;
虽然这里编译器对代码进行了初始化。已经定义了变量,但未进行初始化,编译器在编译的过程当中不把它看作变量就没有执行这个代码。
赋值可以赋值多次,但是变量的初始化只有在最开始定义的时候。对于自定义的类来说,构造函数内部可以对一个成员变量赋值多次,这种状况明显与初始化的定义相违背。
在C++中定义了构造函数的初始化方式,即只在对象创建的时候将用户自定义的参数初始化给成员变量。
class Date
{
private:
int _year;
int _month;
int _day;
public:
Date(int year = 1900, int month = 1, int day = 1) :_year(year), _month(month), _day(day)
{