构造函数
目的:初始化对象
每个对象的建立都必须进行初始化,也就是把对象中的数据都赋值,构造函数分为带参构造与不带参构造;
<1>不带参构造函数:
当对象建立时未给予任何参数赋值时调用,注意当重载多个非缺省项参数的构造函数时,必须存在一个不带参构造函数,以此来面对对象建立时未赋值参数情况;
举例:
Time ()
{
h=0;m=0;s=0;.............(1)
}
//也可表示为:
Time():h(0),m(0),s(0) {}
关于初始化构造函数列表介绍,这里允许我偷个懒,
可以去https://www.cnblogs.com/BlueTzar/articles/1223169.html详细查看:
简洁总结一下,
当类中存在自定义其他类的对象,初始化列表会在此处调用数据中对象的构造函数,然后再进入函数体执行其他赋值;即使你未写初始化列表,数据对象也会隐式在初始化列表里调用数据对象的构造函数;
当数据成员中存在引用或const时,由于这些只能初始化,因此只用用初始化列表初始化;
其他情况下,两种用法基本相同;
Time(int a,int b,int c)
{
h=a;m=b;s=c;..................(2)
}
//不能仅有(2)存在无(1);
Note:
初始化列表的成员初始化顺序:
C++初始化类成员时,是按照声明的顺序初始化的,而不是按照出现在初始化列表中的顺序。
<2>带参构造函数
含缺省项参数的构造函数:
Time(int a=0,int b=0,int c=0):h(a),m(b),s(c) {}
缺省项参数必须从右往左连续存在;
构造函数也是成员函数,也可以调用函数;
第一次写博客,请多多指教,以后我会逐渐补充构造函数的介绍,