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

龙岩网站设计今天足球赛事推荐

龙岩网站设计,今天足球赛事推荐,一步安装wordpress,宁波怎么优化seo关键词10 继承与虚函数 10.1 Inheritance 继承 语法#xff1a;:public base_class_name public 只是一种继承的方式#xff0c;还有protect#xff0c;private 子类会拥有自己的以及父类的数据 10.1.1 继承下的构造和析构 与复合下的构造和析构相似 构造是由内而外 Container …10 继承与虚函数 10.1 Inheritance 继承 语法:public base_class_name public 只是一种继承的方式还有protectprivate 子类会拥有自己的以及父类的数据 10.1.1 继承下的构造和析构 与复合下的构造和析构相似 构造是由内而外 Container 的构造函数编译器会自动先调用 Component 的 default 构造函数再执行自己 注意如果要调用 Component 的其他构造函数需要自己写出来 Derived::Derived(…): Base() { … }; 析构是由外而内 Container 的析构函数会先执行自己之后编译器调用 Component 的析构函数 Derived::~Derived(…){ … /* ~Base() */ }; 注意Base class 的 dtor 必需是 virtual 否则下例会导致结束时只会调用 Base 的 dtor int main() {Base* ptr new Derived();delete ptr; // 只会调用 Base 类的析构函数return 0; }10.2 虚函数 pure virtual 函数 derived class 一定要重新定义 (override 覆写) 它其没有定义只有声明 语法virtual xxxxxx 0; virtual 函数 derived class 可以重新定义 (override, 覆写) 它且它已有默认定义 语法virtual xxxxxx; non-virtual 函数 不希望 derived class 重新定义 (override, 覆写) 它 10.3 继承 with virtual 例子在 Windows 平台下用某个软件打开文件——分为好几步但基本所有软件大多数操作都是一致的只有一个操作如读取方式是不一样的 现有一个框架 Application framework 其写好了所有必要的函数其中 Serialize() 就是一个 pure virtual 函数使用这个框架写自己软件的打开文件就继承这个框架其中就需要自己 override 覆写 Serialize() 这个函数在执行中执行 myDoc.OnFileOpen(); 中到 Serialize() 时是通过 this 来指引到自己写的 Serialize() 中去的 把关键动作延缓到子类再做这是一个经典的设计模式——Template Method 10.4 缩略图 复合 委托 继承 类中的元素 变量名称 : 变量类型与代码刚好相反 变量下面加下划线 表示 static 前面加一个 - 表示 private 前面加一个 # 表示 protected 前面加一个 表示 public一般可以省略 10.5 继承复合 这种关系下的构造和析构与之前的类似 第一种 构造由内到外 先 Base 再 Component Derived 的构造函数首先调用 Base 的 default 构造函数然后调用 Component 的 default 构造函数然后才执行自己 Derived::Derived(…): Base(),Component() { … }; 析构由外而内 先 Component 再 Base Derived 的析构函数首先执行自己然后调用 Component 的析构函数然后调用 Base 的析构函数 Derived::~Derived(…){… /*~Component() ~Base()*/}; 第二种 同理构造由内到外析构由外而内 10.6 继承委托 10.6.1 例一 Observer 设计模式—— Observer 例如一串数据可以用饼图来观察也可以用条形图来观察这种种的观察方式都是继承于 Observer 通过 vectorObserver m_views; 来进行委托 当数据改变的时候Observer 也需要更新即 notify 函数来将目前所有的观察者更新 10.6.2 例二 Composite 设计模式—— Composite 例如文件系统文件夹里可以有文件夹与自己相同的类也可以有文件其中文件就是最基本的 Primitive而文件夹就是复合物 Composite 要达成目的就可以再设计一个父类 Component 文件和文件夹就继承于同一父类 其中 Composite 要用委托到父类的方式 Component* 设计容器和操作——使其 Primitive 和 Composite 都可以适用 //父类 Component class Component { private:int value; public:Component(int val) {value val;} virtual void add( Component* ) {} //虚函数 };//复合物 Composite class Composite : public Component {vector Component* c; public:Composite(int val) : Component(val) {}void add(Component* elem){c.push_back(elem);}… }//基本类 Primitive class Primitive: public Component { public:Primitive(int val): Component(val) {} }; component中add是虚函数且是空函数不能是纯虚函数——Primitive 不会 override add函数最基本的单位不能 add 了而 Composite 需要 override add函数 10.6.3 例三 Prototype 设计模式—— Prototype 框架父类要创建未来才会出现的子类——要求子类要创建一个自己当作原型 Prototype 让框架父类来找到并创建 FindAndClone 补充当一个子类继承自父类时它可以被视为是父类的一种类型因此可以使用父类的指针或引用来引用子类的对象 这种用父类的指针或引用来处理子类对象的方式称为——**向上转型 ** Upcasting 父类中有一个存放原型的数组有纯虚函数 Image *clone()还有两个静态函数 Image FindAndClone(imageType); void addPrototype(Image *image){...} 子类中创建一个静态的自己 _LAST 把它放到父类的一个空间中这样父类就可以找到新创建的子类 private 的构造函数 LandSatImage() 中是 addPrototype(this); //这里的 this 就是 _LAST 将自己的原型放到了父类中去 子类中准备一个 clone()函数父类通过调用找到的相应类型的 clone 函数来创建子类的副本 这里的 clone 函数就不能用之前的那个构造函数来创建副本了——其会放到父类中去所以创建一个新的构造函数 LandSatImage(int) 用传进一个无用参数随便传个int型数据就好来进行区分
http://www.dnsts.com.cn/news/258138.html

相关文章:

  • 中文购物网站模板网站构架图
  • 蚌埠大建设及棚户区改造官方网站名字logo设计免费
  • 服务器有了怎么做网站吉林省建设工程质量监督站网站
  • 关于网站的推广文章官方静态网站模板下载
  • 中国企业网站建设现状成都网站建设scdzks
  • 网站建设方案ppt 枫子科技建设个人网银登录
  • 宝安网站建设seo信科asp.net 建立网站
  • 网站建设方任务 职责网站建设项目建议书
  • 网站项目需求表迁西网站定制
  • 网站自己建设oneinstack wordpress
  • 网站内链seo100种禁用的视频软件短视频
  • 开发平台英文厦门seo网站推广优化
  • 网站的超级链接怎么做织梦网站图标更换
  • 深圳做网站联系电话wordpress 排除置顶
  • 电子商务网站建设的流程图快云助手网站建设视频教程
  • 福州市做网站公司网站建设如何做报价
  • 笑话网站 wordpress有哪个网站有免费视频素材
  • 网站准确的定位企业网站模板中文
  • 移动网站建设渠道网上推广平台哪个好
  • 怎样建自己的网站赚钱wordpress博客访问
  • 佛山免费建站怎样网站推广教程分享
  • 域名年费多少网站建设网站开发公司团队优势
  • 官方网站手机免费看看视频用什么软件好
  • 新开传奇网站曾劲松网站建设案例基本流程
  • 网站备案取消接入网站开发策划方案
  • 织梦小说网站模板下载地址什么网站上做奥数题
  • 赣州制作网站百度网页布局代码
  • 农家乐网站建设多少钱不会代码可以做网站吗
  • 网站服务器 试用wordpress调用文章发布时间
  • 网站开发中存在的问题非洲做网站用哪里服务器好