关于继承和虚函数的问题
#include "stdafx.h"
#include <iostream>
using namespace std;
class Parent
{
public:
void Function1() { cout << "Parent's Function1" << endl;}
virtual void Function2() { cout << "Parent's Function2" << endl;}
};
class Child : public Parent
{
public:
void Function1() { cout << "Child's Function1" << endl; }
void Function2() { cout << "Child's Function2" << endl; }
};
int _tmain(int argc, _TCHAR* argv[])
{
Parent* pParent;
pParent = &Child();
pParent->Function1();
pParent->Function2();
return 0;
}
这个输出结果是:
Parent's Function1
Child's Function2
第二行我明白,但是第一行为什么调用的是父类的Function1?多谢啦