在
C#
和
Java
中,
⼀个构造函数可以调⽤另⼀个来实现代码复⽤
,但
C++
⼀直不允许这样做。
现在可以了,这使得构造函数可以在同⼀个类中⼀个构造函数调⽤另⼀个构造函数,从⽽达到简化代码的⽬的:
class myBase {
int number; string name;
myBase( int i, string& s ) : number(i), name(s){}
public:
myBase( ) : myBase( 0, "invalid" ){}
myBase( int i ) : myBase( i, "guest" ){}
myBase( string& s ) : myBase( 1, s ){ PostInit(); }
};