zoukankan      html  css  js  c++  java
  • VC++ (三)虚函数与重载

    VC++中如果类包含有纯虚函数,则类必须声明为抽象类,如下:

    class CGDIElement abstract    //类包含纯虚函数时,必须定义为抽象类
    {
    public:
     CGDIElement(void);            //构造函数不能是虚函数,派生类继承方式见后

     virtual ~CGDIElement(void);  //析构函数如果要让派生类继承,必须定义为虚函数

     virtual void Init(void) = 0; //纯虚函数
    };

    派生类的定义如下:

    class CGDILine : public CGDIElement
    {
    public:
     CGDILine(void) 
    :CGDIElement() //调用基类的构造函数

     {  };
     virtual ~CGDIElement(void);   //派生类的虚析构函数能够自动调用基类的析构函数
     virtual void Init (void){};   //基类的纯虚函数在派生类中重载,不能执行基类的纯虚函数,因为其不存在。 

    }; 

    第三级派生类定义如下:

    class CGDIDotLine : public CGDILine
    {
    public:

     virtual void Init (void)   

     { CGDILine::Init();         //派生类必须显性调用基类的函数

      };
    };

  • 相关阅读:
    图片处理中的Dithering技术
    网络I/O模型
    并发编程(二)
    并发编程(一)
    socket编程(二)
    socket编程(一)
    异常处理
    软件开发规范
    面向对象进阶
    多态与封装
  • 原文地址:https://www.cnblogs.com/ChinaEHR/p/2224036.html
Copyright © 2011-2022 走看看