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

公司注册网站系统免费建站优化

公司注册网站系统,免费建站优化,餐饮网站建设可行性分析,怎么做网站官方电话文章目录 子类继承父类之后#xff0c;子类的默认成员函数的变化构造函数编译器自动生成的构造函数程序员手动写的构造函数 拷贝构造编译器自动生成的拷贝构造函数程序员手动写的拷贝构造函数 赋值重载编译器自动生成的赋值重载程序员手动写的赋值重载 析构函数 继承与友元菱形… 文章目录 子类继承父类之后子类的默认成员函数的变化构造函数编译器自动生成的构造函数程序员手动写的构造函数 拷贝构造编译器自动生成的拷贝构造函数程序员手动写的拷贝构造函数 赋值重载编译器自动生成的赋值重载程序员手动写的赋值重载 析构函数 继承与友元菱形继承什么是菱形继承如何解决菱形继承虚继承的原理菱形继承的使用建议【能不用就不用】 接上“集”【继承 上【C】】 子类继承父类之后子类的默认成员函数的变化 构造函数 编译器自动生成的构造函数 子类中的编译器自动生成的构造函数会先子类构造函数的成员初始化列表中调用父类的默认构造函数【即不需要传参数就能调用的构造】再完成子类自己的构造函数 例 如果父类没有默认构造编译器自动生成的构造函数就会报错 此时需要我们手动写子类的构造函数并在其成员初始化列表中传参调用父类的构造 程序员手动写的构造函数 子类中,程序员手动写的构造函数在我们自己没有在成员初始化列表中显式调用父类的构造的时候编译器也会帮我们自动调用父类的默认构造 例 当然此时如果父类没有默认构造就必须我们自己手动在成员初始化列表里传参调用了 例 拷贝构造 编译器自动生成的拷贝构造函数 子类中编译器自动生成的拷贝构造函数会先自动在子类的拷贝构造的成员初始化列表中调用父类的拷贝构造再完成子类自己的拷贝构造 程序员手动写的拷贝构造函数 因为手动写了所以编译器不会自动生成拷贝构造了那么编译器就不会自动帮我们调用父类的拷贝构造了 例 所以 子类中程序员手动写的拷贝构造函数必须由程序员自己手动在子类的拷贝构造的成员初始化列表中传参调用父类的拷贝构造【此时传参传子类的拷贝构造接收到的参数就行因为继承上中提到的子类对象可以赋值给父类对象子类对象多出来的部分会“切割”掉】 例 赋值重载 编译器自动生成的赋值重载 子类中编译器自动生成的赋值重载函数会先自动地调用父类的赋值重载再完成子类自己的赋值重载 例 程序员手动写的赋值重载 因为手动写了所以编译器不会自动生成赋值重载了那么编译器就不会自动帮我们调用父类的赋值重载了 例 所以 子类中程序员手动写的赋值重载必须由程序员自己手动在子类的赋值重载中 传参调用父类的赋值重载【此时传参传子类的拷贝构造接收到的参数就行因为继承上中提到的子类对象可以赋值给父类对象子类对象多出来的部分会“切割”掉】 例 为什么在子类中调用父类的赋值重载必须要指定父类的类域呢 这是因为子类和父类的赋值重载同名了构成了隐藏继承 上【C】中就说过 如果在子类里面调用构成隐藏的成员不指定类域的话就只会调用子类自己的成员 所以才必须指定父类的类域这样才能调用到父类的赋值重载 析构函数 析构函数比较特殊无论是编译器自动生成的析构还是程序员自己手动写的析构 子类的析构调用完成之后都会再自动地调用父类析构 例 继承与友元 类和对象【六】友元和内部类中就提到过 友元关系是不能继承的也就是说父类友元不能访问子类私有和保护成员 可以形象的理解成妈妈的朋友不是我的朋友 但是也不是说我不能和她交朋友 菱形继承 什么是菱形继承 举个例子 这样继承的话D里面就会有两份A的成员就会造成两个重大的问题 数据冗余即D类里面有两份A的成员而且这两份完全重复没有必要都存在访问会有二义性因为D类里面有两份A的成员那么通过D类的对象访问A类的成员就不知道要访问这两份中的那一份 如何解决菱形继承 使用虚继承可以解决菱形继承产生的问题【注意不要在解决菱形继承以外的场景中使用虚继承】 使用虚继承之后D类中就只有一份A的成员了 虚继承的语法 在会产生两份多份数据的根源的继承权限的前面加上virtual 上面那个例子就是在B和C继承A的时候在B和C的继承权限前面加上关键字virtual即可 因为B和C继承A时就是D中会产生两份A的数据的根源 虚继承的原理 继续使用之前的例子 ①使用虚继承之前 D类对象的组成如上图 D类里面有两个父类的部分一个从B那里继承来的以下简称D中的B一个从C那里继承来的以下简称D中的C 他们里面都有类A的成员即a ②使用虚继承之后 D类对象的组成如下图 也就是使用虚继承之后 B类和C类的父类A的成员会单独存在D类对象的最后然后D类中的B和C就共享这公共的A 这个时候D中的B和C原本存储A类的成员的地方就变成存储一个指针称为虚基表指针 这个指针指向一张虚基表虚基表里面存了偏移量 D对象中的B和C就可以通过各自的虚基表指针找到各自的虚拟表 然后通过里面存储的偏移量找到D对象中存储的公共的A的成员 菱形继承的使用建议【能不用就不用】 现实编写代码的过程中可以使用多继承但是尽量不要产生菱形继承 即 菱形继承能不用就不用
http://www.dnsts.com.cn/news/50297.html

相关文章:

  • 网站建设中要多使用图片兰州最坑人的装修公司
  • 深圳做网站找哪家好为什么不用wordpress
  • drupal7建站教程对网站开发流程的了解
  • 徐州网站建设xzqjw企信网是什么网站
  • 深圳市龙岗区建设局官网网站l兰州网站建设
  • 做别墅花园绿化的网站com域名为什么那么贵
  • 做worksheet的网站wordpress快速收录
  • 怎么做网站源码上海网站建设推
  • 怎么做盗号网站手机PHP网站开发项目式教程
  • 哪些网站是单页面阿里云建站和华为云建站哪个好
  • 镇江网站优化黄浦网站建设推广
  • 德国 网站 后缀wordpress模块咋编辑
  • 网站建设培训龙岗wordpress生成pdf
  • 找别人做网站注意什么做网站的目的与意义
  • 泉州做 php 网站盐山做网站价格
  • 外贸公司网站建站怎么修改网站首页html代码
  • 好大夫网站开发单位网站开发需要什么软件
  • 重庆公司注册服务惠州优化怎么做seo
  • 网站建设1影响力公司龙华做网站怎么样
  • 如何评价网站是否做的好处wordpress外贸企业模板下载
  • 佛山网站建设企业报价绍兴网站建设做网站
  • 黄江镇网站建设公司文化事业建设费在哪个网站申报
  • 中山网站优化js网站变灰色代码
  • 温州做网站 掌熊号请解释网站开发的主要流程.
  • 东莞网站优化推广网站 开发 周期
  • 南宁哪个网络公司建网站好成功的网络营销案例
  • 个人网站模板怎么做手机建站平台微点
  • 网站设计建设公司怎么做零基础怎么学网页设计
  • 湖南网站建设怎么样网站开发设计工程师
  • 五常网站wordpress 视频尺寸