class Foo { public: Foo() { Foo(1)} Foo(int x,int y = 0):i(x) {} private: int i; }
谁能给我一些理由我可以这样做吗?如果不是为什么?
我发现最好的方法是创建一个通用的初始化函数,让两个构造函数都调用它.
像这样的东西:
class Foo { public: Foo() {initialize(1);} Foo(int nX) { initialize(nx); } private: void initialize(int nx) { x=nx; } int x; };