所以,我刚刚阅读了关于构造函数初始值设定项以及为什么它们很重要。关于构造函数的问题
所以,在这方面,我问这只是因为它没有被明确提及,我不想弄错事情。
因此,在非初始化构造的情况下,例如:
Student(int i, string s) {
id = i;
name = s;
}
当构造函数被调用(创建一个实例时自动),做会员ID和名称首先获得初始化为默认int和string的值(以及那些默认值?)在进入构造函数的主体之前,当输入正文时,它们分别被i和s覆盖。我的解释是否正确?
如果是这样的话,然后初始化构造类似如下:
Student(int i, string s) : id(i), name(s) {}
至高无上,应使用所有的时间,对不对?
为什么在这种情况下,其他的构造函数都是教导的?
初始化很复杂:http://en.cppreference.com/w/cpp/language/initialization – Deduplicator 2015-02-23 02:56:51
第一个可能是先教会的,因为它比较容易理解。在这之前,每个人都看到了分配,但不是奇怪的':'语法。一旦他们理解了构造函数,你就可以向他们展示':'语法。 – immibis 2015-02-23 03:07:12