虚函数

来源:互联网 发布:js隐藏input光标 编辑:程序博客网 时间:2024/05/13 06:01

定义一个虚函数 不是说函数没有被实现
而是为了允许用基类的指针来调用派生类中的这个函数

定义一个纯虚函数 才是真正地没有实现
纯虚函数是一个接口,为了让程序猿在派生类中实现这个函数

将基类的成员函数设置成virtual,则相应地继承的派生类也是虚函数,可写可不写

简单来说

基类指针指向一个子类对象时,通过这个指针调用子类和基类同名成员函数时
当基类声明成虚函数时,会调用派生的这个同名函数
否则 会调用基类的函数

当是对象作用时,还是调用派生类的

#include <iostream>using namespace std;class A{public:    A(){};    ~A(){};    void print()    {        cout<<"class A"<<endl;    }};class B:public A{public:    B(){};    ~B(){};    void print()    {        cout<<"class B"<<endl;    }};int main(){    //A*p=new B;    //p->print();    B b;    b.print();    return 0;}
0 0
原创粉丝点击