当前位置: 首页 > news >正文

游戏类网站怎么做影院网站模板

游戏类网站怎么做,影院网站模板,网站建设信用卡取消,北京网站建设项目首先给出这样一段概念: 在C中,当基类包含纯虚函数时,这些纯虚函数在基类中不需要(也不能)有定义。但是,如果基类有一个纯虚析构函数(即析构函数被声明为纯虚函数),那么情…
首先给出这样一段概念:

在C++中,当基类包含纯虚函数时,这些纯虚函数在基类中不需要(也不能)有定义。但是,如果基类有一个纯虚析构函数(即析构函数被声明为纯虚函数),那么情况就有些特殊了。纯虚析构函数需要在基类中有声明,但通常也需要在类外提供一个定义(尽管这个定义通常只包含析构函数的空体)。

再通过一段代码更加深入的理解:
#include <iostream>  // 基类  
class Base {  
public:  // 纯虚析构函数  virtual ~Base() = 0 {  // 注意:在C++11及之前的标准中,纯虚析构函数不能提供实现体  // 但在C++11中开始,纯虚析构函数可以在类定义内部有定义体(作为内联成员函数)  // 但在大多数情况下,我们仍然选择将其定义在类定义之外  std::cout << "Base destructor called." << std::endl;  }  // 纯虚函数  virtual void pureVirtualFunction() = 0;  // 其他成员函数  void normalFunction() {  std::cout << "Base normal function called." << std::endl;  }  
};  // 在类定义外部定义纯虚析构函数(如果需要)  
Base::~Base() {  // 注意:这个定义是可选的,并且如果在类定义内部已经提供了定义体,则不需要这里再定义  
}  // 派生类  
class Derived : public Base {  
public:  ~Derived() override {  std::cout << "Derived destructor called." << std::endl;  }  // 提供纯虚函数的实现  void pureVirtualFunction() override {  std::cout << "Derived pure virtual function called." << std::endl;  }  
};  int main() {  // 由于Base是抽象类,不能直接实例化  // Base* base = new Base(); // 错误  // 创建派生类对象并通过基类指针管理  Base* basePtr = new Derived();  // 调用派生类的纯虚函数  basePtr->pureVirtualFunction();  // 调用基类的普通函数  basePtr->normalFunction();  // 删除对象,会先调用派生类的析构函数,再调用基类的析构函数  delete basePtr;  return 0;  
}
总结:
  1. 在C++11及之后的版本中,纯虚析构函数可以在类定义内部直接提供定义体(作为内联成员函数)。但在C++11之前,纯虚析构函数不能在类定义内部提供定义体,它必须在类定义外部定义。

  2. 在这个例子中,Base 类是一个抽象类,因为它包含了一个纯虚函数 pureVirtualFunction()。因此,你不能直接实例化 Base 类的对象。

  3. 当你通过基类指针 basePtr 调用 delete 时,会首先调用派生类 Derived 的析构函数,然后再调用基类 Base 的析构函数。这是因为 Derived 类的析构函数是通过 override 关键字明确指定的,它会先执行自己的清理工作,然后隐式地调用基类的析构函数。如果基类没有纯虚析构函数,并且你试图通过基类指针删除派生类对象,那么只有基类的析构函数会被调用,这可能会导致资源泄漏。

纯虚析构函数的主要目的是确保通过基类指针或引用删除派生类对象时,派生类的析构函数也能被正确调用

http://www.yayakq.cn/news/685798/

相关文章:

  • 公司两个网站如何都备案国内好的seo
  • 网站项目进度赣县区建设局网站
  • 淘宝运营模式南宁有名的seo费用
  • 微信聊天记录删除了怎么恢复广州seo全网营销
  • 网站规划开发前景建网站要多少钱建一个网络平台需要多少钱
  • 网站中弹出广告怎么做简述电子商务网站建设的主要步骤
  • 镇江网站建设教程昆明网站运营
  • 网站的二级目录怎么做域名抢注网站是怎么
  • 备案 个人网站名称计算机专业主要学什么软件
  • 网站备案相机中山住房和建设局网站
  • 北京P2P公司网站建设做公司网站的模板
  • 邯郸网站建设最新报价深圳 学习网站
  • 台州网站建设公司江西建筑培训网
  • 企业网站运营python做软件界面
  • 株洲做网站建设网站收银系统建设
  • 投资担保网站建设wordpress 橘子皮模板
  • 企业做网站etp和源程序注册安全工程师报名入口官网
  • 1核2g 做网站西安企业网站设计制作
  • 广东水利建设与管理信息网站android sdk
  • vps里面设置了一下读取和写入网站无法显示了哈尔滨网站优化流程
  • 类似建设通的网站朋友圈广告推广文字
  • 公司网站在国外打开很慢使用cdn好还是国外租用服务器好做o2o网站需要多少钱
  • 做婚礼效果图的网站有哪些百度小程序关键词优化
  • 做内贸的网站wordpress盒子
  • 辽宁省建设工程注册中心网站全椒有做网站的吗
  • 网站建设公众网站优化和网站推广
  • 郑州腾石建站温州平阳县网站建设兼职
  • 九台区建设银行网站腾讯企业邮箱登录入口手机版下载
  • 帝国cms官方网站如何快速用手机做网站
  • 库尔勒网站建设电话苏州企业网站建设制作方案