打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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();         //派生类必须显性调用基类的函数

  };
};

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C++箴言:避免析构函数调用虚函数
C++虚继承内存对象模型探讨
虚函数与纯虚函数
编译器错误 C2723 (C )
为多态基类声明virtual析构函数
开发source filter的source sourcestream两个基类介绍_混乱思维
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服