6.3w+
社区成员
World::World(void)
: background_color(black),
tracer_ptr(NULL)
{}
效果等价于
World::World(void)
{
background_color = black;
tracer_ptr = NULL;
}
但第一种效率更高,这样写叫初始化列表
参看
http://blog.csdn.net/ruibird/archive/2007/04/05/1552373.aspx
http://hi.baidu.com/wkylingling/blog/item/f210427adbe765ee2e73b33b.html
http://qyhok.spaces.live.com/blog/cns!71e684ef039e5d6!115.entry
#include <iostream>
#include <cstdlib>
class Temp {
public:
Temp(int value) {
std::cout << "Class Temp constructor." << std::endl;
}
};
class A {
public:
A(int value) {
std::cout << "Class A constructor." << std::endl;
}
};
class B : public A {
public:
B(int value) :
A(value), t(value), data(value) {
std::cout << "Class B constructor." << std::endl;
}
Temp t;
const int data;
};
int main(int argc, char *argv[]) {
B b(4);
return EXIT_SUCCESS;
}