[i][b]本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/107[/b][/i]
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/107[/b][/i]
构造函数的初始化有两种:(一)在构造函数体的赋值语句中设置,(二)在构造函数中使用初始化列表
(一)构造函数体的赋值语句中设置
Student( string s_name = "pzy", string s_sex = "male", int i_age = 20 )
{
name = s_name;
sex = s_sex;
age = i_age;
}
(二)使用初始化列表
Student(string s_name, s_string sex, int i_age) : name(s_name), sex(s_sex), age(i_age)
其实,这不仅表示法不同,初始化的方式上也有很大的不同,效率也有悬殊。在使用在构造函数体中初始化成员的时候,首先创建该数据成员,再进行赋值语句。而使用初始化列表,数据成员在创建的时候,就用初始值进行了初始化。这要比在构造函数中使用赋值语句效率高得多,特别是在数据成员是一个类实例的时候。