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

网站定制排名电子商务网站建设答辩记录

网站定制排名,电子商务网站建设答辩记录,给网站栏目页做反链好吗,宝山做网站价格纯虚析构的问题 多态使用时#xff0c;如果子类中有属性开辟到堆区#xff0c;那么父类指针在释放时无法调用到子类的析构代码。 解决方式#xff1a;将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性#xff1a; 可以解决父类指针释放子类对象都需要有…纯虚析构的问题 多态使用时如果子类中有属性开辟到堆区那么父类指针在释放时无法调用到子类的析构代码。 解决方式将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性 可以解决父类指针释放子类对象都需要有具体的函数实现 虚析构和纯虚析构区别 如果是纯虚析构该类属于抽象类无法实例化对象 虚析构语法 virtual ~类名(){} 纯虚析构语法 virtual ~类名() 0; 类名::~类名(){} 示例 class Animal { public:Animal(){cout Animal 构造函数调用 endl;}virtual void Speak() 0;//析构函数加上virtual关键字变成虚析构函数//virtual ~Animal()//{// cout Animal虚析构函数调用 endl;//}virtual ~Animal() 0; };Animal::~Animal() {cout Animal 纯虚析构函数调用 endl; }//和包含普通纯虚函数的类一样包含了纯虚析构函数的类也是一个抽象类。不能够被实例化。class Cat : public Animal { public:Cat(string name){cout Cat构造函数调用 endl;m_Name new string(name);}virtual void Speak(){cout *m_Name 小猫在说话! endl;}~Cat(){cout Cat析构函数调用! endl;if (this-m_Name ! NULL) {delete m_Name;m_Name NULL;}}public:string *m_Name; };void test01() {Animal *animal new Cat(Tom);animal-Speak();//通过父类指针去释放会导致子类对象可能清理不干净造成内存泄漏//怎么解决给基类增加一个虚析构函数//虚析构函数就是用来解决通过父类指针释放子类对象delete animal; }int main() {test01();system(pause);return 0; }注意即使是纯虚析构也需要有具体的实现。因为包含纯虚函数的类为抽象类被继承后在派生类析构函数被调用时抽象类析构函数也将被调用因此必须有实现。唯一麻烦就是必须在类的定义之外cpp文件实现它。 总结 ​ 1. 虚析构或纯虚析构就是用来解决通过父类指针释放子类对象 ​ 2. 如果子类中没有堆区数据可以不写为虚析构或纯虚析构 ​ 3. 拥有纯虚析构函数的类也属于抽象类 纯虚函数的实现案例纯虚析构函数必须有实现 纯虚函数可以有实现唯一麻烦就是必须在类的定义之外cpp文件实现它。 申明一个函数为纯虚并不意味着它没有实现它意味着 当前类是抽象类 任何从此类派生的实体类必须将此函数申明为一个“普通”的虚函数也就是说 不能带“ 0”。 1、纯虚函数例子 声明一个pure virtual 函数的目的是为了让 derived classes 只继承函数接口派生类必须提供实现。 可以为pure virtual函数提供实现但使用时需要指明所属类如 //.h class A{ public:virtual void func1() 0; }; class B : public A{ public:virtual void func1(){A::func1();}; };//.cpp void A::func1(){..........}B b; b.A::func1(); // 与b.func1()结果相同相当于提供了缺省实现但派生类需要主动指定。2、纯虚析构函数必须有实现 因为包含纯虚函数的类为抽象类被继承后在派生类析构函数被调用时抽象类析构函数也将被调用因此必须有实现。 class A{ public:virtual ~A() 0; };//.cpp A::~A(){...}总结 1、纯虚函数可以有实现但必须在类的定义之外cpp文件实现。 2、纯虚析构函数必须有实现。 参考链接 纯虚函数的实现案例纯虚析构函数必须有实现
http://www.w-s-a.com/news/243653/

相关文章:

  • 网站建设教学视频济南做网站需要多少钱
  • 网站免费做软件市工商联官方网站建设方案
  • 网站建设大体包含英铭长沙网站建设
  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广
  • 公司网站app怎么做杭州建设局网站
  • 网站开发需要自己写代码吗12306网站多少钱做的
  • 策勒网站建设四川建设网有限责任公司招聘
  • 网站建设哪里有学网页界面设计论文
  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司
  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单