#includeusing namespace std;class A{public: };class B:public A{public: //B(){cout<<0<//B(int=0){cout<<1< B(int=0,int=0){cout<<2<};int main(){ B a; //B b(); B c(1);//调用B(int){cout<<1< B d(1,2);//调用B(int,int){cout<<2< return 0;} 取消默认值,表示带参数的构造函数,根据所给实参来选择所对应构造函数进行调用,因为B c(1); B d(1,2);
B(){cout<<0< B(int=0){cout<<1< B(int=0,int=0){cout<<2<这三个函数 都可以通过 B()这个形式调用,这样,编译器就不知道你想要调用的是哪一个了,所以会会报错