c++中的虚函数和纯虚函数

来源:互联网 发布:java视频直播源码 编辑:程序博客网 时间:2024/05/22 13:15
//虚函数是为了让基类能动态调用子类的这个函数//纯虚函数是为了让子类必须实现基类声明的纯虚函数,起到规范作用#include "stdafx.h"#include <iostream>using namespace std;class A{public: virtual void foo()//基类中的虚函数         {         cout << "A::foo() is called" << endl;         }};class AA{public:    virtual void funtion1() = 0;//基类中的纯虚函数必须,只声明即可};class B :public A{public:     void foo()         {         cout << "B::foo() is called" << endl;         }};class BB :public AA{public:    void funtion1()//子类中必须实现基类的纯虚函数    {        cout << "子类B实现基类A的纯虚函数funtion1"<<endl;    }};int _tmain(int argc, _TCHAR* argv[]){     A *a = new B();     a->foo();  // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!     A *a2 = new A();     a2->foo();//A的foo     BB *bb = new BB();     bb->funtion1();//含有纯虚函数的基类AA是不能实例化的,BB继承了含有纯虚函数的基类AA后必须实现其中的纯虚函数funtion1     system("pause");     return 0;}
0 0
原创粉丝点击