码迷,mamicode.com
首页 > 编程语言 > 详细

c++基础语法之构造函数和初始化表

时间:2018-09-06 12:23:50      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:oid   默认构造函数   参数   自动   构造   ...   支持   ali   explicit   

笔者刚系统的重学了c++的语法,看到构造函数和初始化表这块,发现这块语法有点复杂且很杂,怕以后忘记,于是写下此篇,以后回忆之用。

 c++构造函数

  

 

 

3、构造函数(constructor

 

Class/struct  类名 {

 

//构造函数

 

类名(形参表) {函数体}

 

}

 

 

 

1)构造函数名字和类名相同,没有返回类型

 

2)构造函数在对象被创建时自动被调用

 

3)构造函数主要负责对象的初始化,即初始化成员变量

 

4)构造函数在每个对象的生命周期,一定会被自动调用,但只会被调用一次

 

 

 

Class  A {

 

A(void) {.....} //构造函数

 

}

 

Int   main (void) {

 

A  a; //自动调用构造函数

 

}

技术分享图片

 

 技术分享图片

构造函数重载(重载其本质就是编译器的改变函数的名字)

构造函数可以通过参数表的不同形成重载,在创建对象时通过构造实参的类型选择匹配,表示不同对象的创建方式。

技术分享图片

2、缺省构造函数(默认构造函数/无参构造函数)

1)如果一个类没有定义任何构造函数,编译器会提供一个缺省的无参构造函数

如果定义了构造函数,无论是否有参数,编译器都不会再提供缺省的无参构造函数

2)对于类中的基本类型成员变量,不做初始化

3)对于类 类型的成员变量,调用相应的无参构造函数来初始化

技术分享图片

3、类型转换构造函数(单参构造函数)

Class  目标类型 {

目标类型(源类型) {......}

};

技术分享图片

技术分享图片技术分享图片

可以接收单个源类型对象实参的构造函数,支持从源类型到目标类型的隐式转换

explicit关键字:用于修饰类型转换的构造函数,强制的要求这种转换必须显示的进行

 

 

c++基础语法之构造函数和初始化表

标签:oid   默认构造函数   参数   自动   构造   ...   支持   ali   explicit   

原文地址:https://www.cnblogs.com/yxzz/p/9597213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!