class Test1
{
public:
void f1()
{
std::cout << "Test1::f1()" << std::endl;
}
virtual void f2()
{
std::cout << "Test2::f2()" << std::endl;
}
virtual void f3()
{
std::cout << "Test1::f3()" << std::endl;
}
};
class Test2
{
public:
virtual void f1()
{
std::cout << "Test2::f1()" << std::endl;
}
virtual void f2()
{
std::cout << "Test2::f2()" << std::endl;
}
};
int main()
{
Test2 t2;
Test1 *t1 = (Test1 *)&t2;
t1->f1(); //没什么好解释的,该类的指针,调用该类的函数,所以输出Test1::f1()
t1->f2();
t1->f3();
return 0;
}
对于输出结果,我希望有人能为我解一下心中的疑惑,不胜感激。