构造函数初始化列表

使用初始化列表来初始化字段:

Line::Line( double len): length(len)
{
    cout << "Object is being created, length = " << len << endl;
}
上面的语法等同于如下语法:

Line::Line( double len)
{
    cout << "Object is being created, length = " << len << endl;
    length = len;
}
假设有一个类 C,具有多个字段 X、Y、Z 等需要进行初始化,同理地,您可以使用上面的语法,只需要在不同的字段使用逗号进行分隔,如下所示:

C::C( double a, double b, double c): X(a), Y(b), Z(c)
{
  ....
}
1 class Car
2 {
3 int i ;int j ;
4 foo(int x):i(x), j(i){}; //  先初始化i,后初始化j
5 };

猜你喜欢

转载自www.cnblogs.com/hsy1941/p/9028195.html