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

动态网站开发语言有哪些杭州推广系统

动态网站开发语言有哪些,杭州推广系统,深圳 企业 网站建设,wordpress手机悬浮目录 1.问题 2.如何解决 3.注意事项 1.问题 定义一个记录时间的基类 class TimeKeeper {Timekeeper();~Timekeeper(); }; 派生类作为不同的计时方法,原子钟,水钟,腕表。 class AtomicClock : public TimeKeeper {...}; class WaterCloc…

目录

1.问题

2.如何解决

3.注意事项


1.问题

定义一个记录时间的基类

class TimeKeeper
{Timekeeper();~Timekeeper();
};

派生类作为不同的计时方法,原子钟,水钟,腕表。

class AtomicClock : public TimeKeeper {...};
class WaterClock : public TimeKeeper {...};
class WristWatch : public TimeKeeper {...};

客户使用你的代码时,只想使用时间,不关系是如何计时的。可以使用工厂模式,返回一个基类的指针。

TimeKeeper *ptk = getTimerKeeper();delete ptk;

getTimerKeeper() 返回的对象必须是在堆上开辟的空间,如果在栈上除了作用与就会销毁。

涉及到开空间,那么一定会释放空间,这个delete ptk; 就出现大问题了,当delete一个对象时,会调用其析构函数,但是ptk指向的是一个派生类对象,delete ptk; 只会调用 ~Timekeeper(),而派生类部分仍然存在,这个时候就会出现一个,销毁了一半的怪物。

2.如何解决

只需将基类的虚构函数声明为 virtual即可解决这个问题。

class TimeKeeper
{Timekeeper();virtual ~Timekeeper();
};

因为这个时候去 delete ptk; 会变成多态调用,先去调用最深层次派生的析构,依次向上到基类。

3.注意事项

virtual不是胡乱加的,如果一个类成员是 两个整形的变量,那么这个类的大小是64bit,如果你添加了一个虚函数,在类空间的起始位置会添加一个虚表指针,如果是32位的机器类的大小是96bit,如果是64位机器类的大小来到了128bit。

而且添加虚函数之后,你无法将其传递给其他,语言写的函数,因为虚表指针是C++特有的。

http://www.dtcms.com/wzjs/517238.html

相关文章:

  • html css网站开发兵书聊城网站推广公司
  • 郑州百姓网征婚交友哈尔滨seo优化
  • 优秀网站设计作品分析营销型企业网站有哪些
  • wordpress cms主题教程关键词优化排名第一
  • 网站开发web前端高性能优化之javascript优化细节seo排名优化是什么
  • 邯郸哪里做网站优化免费b站推广
  • 十大外包公司排名南昌seo教程
  • 做网站的一个月能赚多少钱西安竞价托管公司
  • 企业信用报告如何获取整站seo优化公司
  • 可以做设计兼职的网站有哪些工作室编程培训机构排名前十
  • 口碑营销什么意思有利于seo优化的是
  • 成都网络公关公司seo代码优化包括哪些
  • 眉县住房和建设委员会网站网站营销网
  • 小说网站做封面要钱吗深圳做网站公司哪家好
  • 德化规划与建设局网站百度引擎搜索入口
  • wordpress编辑器文件济南网络优化网站
  • 旅游网站建设与翻译代发新闻稿最大平台
  • 那些公司需要网站开发工程师百度指数介绍
  • 江桥网站建设800元做小程序网站
  • 页面设计素材网站搜索引擎优化不包括
  • 淘客网站如何做推广seo网站优化方案摘要
  • wordpress淘宝客2016长沙网站seo技术厂家
  • 六师五家渠市建设局网站软件制作平台
  • 海尔集团电商网站建设cfa一级看多久两分钟
  • 网站框架是什么北京网站营销与推广
  • 做配资网站大二网络营销实训报告
  • 制作3d动画的软件廊坊快速排名优化
  • 网站是公司域名是个人可以吗seo渠道是什么意思
  • 厦门企业公司电话黄页seo云优化如何
  • wordpress图片分页怎么优化网站