第十一周阅读程序7:virtual 虚拟函数

来源:互联网 发布:长春seo排名 编辑:程序博客网 时间:2024/06/06 09:52

问题及代码:

#include<iostream>using namespace std;class my_base{    int a,b;public:    my_base(int x,int y)    {        a=x;        b=y;    }    virtual void show()    {        cout<<"base";        cout<<a<<" "<<b<<endl;    }};class my_class: public my_base{    int c;public:    my_class(int x,int y,int z):my_base(x,y)    {        c=z;    }    void show()    {        cout<<"my_class "<<"c="<<c;    }};int main(){    my_base mb(50,50),*mp;    my_class mc(10,20,30);    mp=&mb;    mp->show();    mp=&mc;    mp->show();    return 0;}

运行结果:


知识点总结:

virtual 虚拟函数:实现同一个函数名调用不同内容的函数;

此处用my_base 指针分别调用了 基类my_base和派生类my_class中的show()函数;


0 0
原创粉丝点击