网站 建设app,网站建设管理相关规定,国外的做的比较优秀的网站有哪些,网站行业关键词目录
一、再谈构造函数
1、引入
1#xff09;构造函数体赋值
2#xff09;不同成员变量赋值
2、初始化列表 一、再谈构造函数
1、引入
1#xff09;构造函数体赋值
在创建对象时#xff0c;编译器通过调用构造函数#xff0c;给对象中各个成员变量一个合适的初始值…目录
一、再谈构造函数
1、引入
1构造函数体赋值
2不同成员变量赋值
2、初始化列表 一、再谈构造函数
1、引入
1构造函数体赋值
在创建对象时编译器通过调用构造函数给对象中各个成员变量一个合适的初始值。 虽然上述构造函数调用之后对象中已经有了一个初始值但是不能将其称为对对象中成员变量 的初始化构造函数体中的语句只能将其称为赋初值而不能称作初始化。因为初始化只能初始 化一次而构造函数体内可以多次赋值。
2不同成员变量赋值 _a1,_a2 可以通过调用默认构造函数const _x无法调用默认构造函数因为const 对象必须在定义位置初始化。aa是对整个类对象的定义有些成员需要特殊处理无法都满足编译失败。因此必须给每个成员变量找一个定义的位置不然像const 这样的成员不好处理。 C给出的解决方案是在构造函数里定义一个初始化列表。️ 2、初始化列表 初始化列表以一个冒号开始接着是一个以逗号分隔的数据成员列表每个成员变量后面跟 一个放在括号中的初始值或表达式。 ⚠【注意】⚠
1 每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次)
2 类中包含以下成员必须放在初始化列表位置进行初始化 ✅引用成员变量 ✅const成员变量 ✅自定义类型成员(且该类没有默认构造函数时) 【知识回顾】 默认构造函数有三种 ⭕无参的构造函数 ⭕全缺省的构造函数 ⭕编译器生成的默认构造函数 总的特征就是不用传参就可以使用的函数。默认构造函数只能有一个。 3尽量使用初始化列表初始化
因为不管你是否使用初始化列表对于自定义类型成员变量 一定会先使用初始化列表初始化。而且所有成员都会经过初始化列表因为这是成员定义的地方。
对象整体的定义每个成员通过初始化列表定义如果初始化列表没有给定值内置类型就用缺省值定义如果缺省值也没有定义就是随机值自定义类型调用构造函数。如果初始化列表给了值就直接用初始化列表数据或者函数体内部初始化。 4成员变量在类中声明次序就是其在初始化列表中的初始化顺序与其在初始化列表中的先后次序无关