/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:肖雪
*完成日期:2016年6.7
*版 本 号:v1.0
*问题描述:阅读程序。
*/
#include<iostream>
using namespace std;
class A {
int a;
public:
A():a(5){}
virtual void print()const { cout<<a;}
};
class B: public A {
char b;
public:
B() { b='E'; }
void print() const { cout<<b; }
};
void show(A &x) { x.print(); }
int main()
{
A d1,*p;
B d2;
p=&d2;
d1.print();
d2.print();
p->print();
show(d1);
show(d2);
return 0;
}
知识点:虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,
可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型。
以实现统一的接口,不同定义过程。如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数。