本文主要是介绍c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(十三)(十四) 初始化列表 对象组成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
c++ 浙大翁恺老师 面向对象程序设计听课笔记收录
- innicialiazation list
- 代码
- 对象组成
innicialiazation list
初始化赋值,y(ya)
这样的写法和在构造函数中写y = ya是有区别的
y(ya)比构造函数早执行,这就是区别。
如果类成员是一个对象,将有不同;
建议:类的所有成员变量都在initialzation中做初始化,而不要在构造函数中做赋值
代码
// An highlighted block
student::student(string s):name(s){}
//初始化
student::student(string s){name=s;}
//赋值
对象组成
innitialize 的动作在构造函数之前就进行
如果你不在innitialize list放置这两个成员变量的构造函数(两个成员变量为类),它就需要这两个类的defalt construction,因为你没有提供参数去构造它,实际上他就会多做一份构造和赋值的事情
即:A=B+C,对于组合的对象,在A构造器中使用初始化列表来初始化B和C的对象,而不放在构造器里面去做。
因为初始化列表中的内容是先于构造器执行。
如果是放在构造器里面,则要求BC要有默认构造。
这篇关于c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(十三)(十四) 初始化列表 对象组成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!