我见过 c++ 类构造函数以两种不同的方式初始化成员,但效果相同。假设我们有一个简单的类:
class myClass
{
public:
myclass();//default constructor
private:
int a;
int b;
bool c;
};
情况1:
myClass::myClass()
/* Default constructor */
{
a=5;
b=10;
c=true;
//do more here
}
案例二:
myClass::myClass()
/* Default constructor */
:a(5),
b(10),
c(true)
{
//do more in here
}
编译后两者有什么区别?即使没有区别,有没有“首选”的方式呢?