第十三周阅读项目(1):虚函数

来源:互联网 发布:巨森网络 编辑:程序博客网 时间:2024/04/30 10:44
代码:
#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;}


运行结果:

 

学习心得:
基类的print()函数被声明为虚函数,在声明派生类是被重载,这时派生类的同名函数print()就取代了其基类的虚函数,因此在使基类指针指向派生类对象后,调用print()函数时就调用派生类的print()函数。

0 0
原创粉丝点击