#include<iostream>
using namespace std;
class A{
public:
virtual int fun(int i=1){
return i+1;
}
virtual ~A(){ };
};
class B:public A{
public:
virtual int fun(int i=10){
return i;
}
};
int main(){//
//A* p=new A;
A* p;
p=new B;
cout<<p->fun()<<endl;
using namespace std;
class A{
public:
virtual int fun(int i=1){
return i+1;
}
virtual ~A(){ };
};
class B:public A{
public:
virtual int fun(int i=10){
return i;
}
};
int main(){//
//A* p=new A;
A* p;
p=new B;
cout<<p->fun()<<endl;
delete p;
return 0;
}
输出的是1, A的构造函数是1,然后应用class b,return i;