#include<iostream>
using namespace std;
class base
{
public:
base(){};
virtual void vf(){
cout<<"base::vf()"<<endl;
}
};
class son:public base
{
public:
son(){vf();
};
void g(){vf();};
void vf(){
cout<<"son::vf()"<<endl;
}
};
class grandson:public son
{
public:
grandson(){};
void vf(){
cout<<"grandson::vf()"<<endl;
}
};
int main()
{
grandson gs;
gs.g();
}
#include<iostream>
using namespace std;
class base
{
public:
base(){};
virtual void vf(){
cout<<"base::vf()"<<endl;
}
};
class son:public base
{
public:
son(){vf();
};
void g(){vf();};
// void vf(){
// cout<<"son::vf()"<<endl;
// }
};
class grandson:public son
{
public:
grandson(){};
void vf(){
cout<<"grandson::vf()"<<endl;
}
};
int main()
{
grandson gs;
gs.g();
}
在构造函数中,优先调用自己的,但在其他函数中是根据虚函数需特性来的