Code sec1:
TableTennisPlayer::TableTennisPlayer(const string& fn, const string& ln, bool ht) :firstname(fn), lastname(ln), hasTable(ht)
{
}
Code sec2:
TableTennisPlayer(const string &fn,const string &ln,bool ht)
{
firstname="none";
lastname="none";
hasTable=false;
}
那么,我们使用时,使用哪一种呢,下面就分析下两种初始化方式的区别
:代码一的初始化方式,对fn和ln的初始化仅仅需要调用赋值构造函数即可,
代码二的初始化方式,编译器会首先调用firstname的默认构造函数,而后调用赋值运算符。
结论:如果有类类型变量,那么优先方法一。