C++基础篇:构造函数注意的问题

构造函数

目的:初始化对象

每个对象的建立都必须进行初始化,也就是把对象中的数据都赋值,构造函数分为带参构造与不带参构造;

<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) {}

缺省项参数必须从右往左连续存在;

 

 

 

 

 

构造函数也是成员函数,也可以调用函数;

第一次写博客,请多多指教,以后我会逐渐补充构造函数的介绍,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值