虚函数的疑问?
为什么输出son:0,而不是son:1?
为什么把caseback删去就输出son:1?
#include<iostream>
using namespace std;
class Base{
public:
virtual void f(int val=1){
cout<<"B: "<<val<<endl;
}
virtual void caseback(){
f();
}
};
class Son:public Base{
public:
void f(int val=0){
cout<<"Son: "<<val<<endl;
}
void caseback(){
f();
}
};
int main(){
Base* d=new Son;
d->caseback();
return 0;
}

查看6道真题和解析