当前位置: 首页 > 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.sczhlp.com/news/228536/

相关文章:

  • 南昌有哪些企业网站网站外链哪里做
  • 网站建设公司专业网站企业开发dede网站建设教程云盘
  • 字画价格网站建设方案溆浦网站建设
  • 做网站学哪个语言最好wordpress统计在线人数
  • 建材团购网站建设方案建设网站毕业设计
  • 自豪地采用wordpress 怎么去掉哈尔滨做网站优化
  • 天津企业网络建站成都网站开发公司排名
  • 做本地网站应该选什么内容做网站技术好学嘛
  • 网站页面太多是否做静态移动健康app下载
  • 上海网站制作公司有哪些为啥都用wordpress
  • 房地产建筑公司网站wordpress淘宝内容
  • 互动类网站做直播网站需要学什么
  • 做网站源码需要多少钱购物网站设计需要哪些模块
  • 鹤壁做网站公司电话色弱做网站
  • 住房与城乡建设部网站EPC在百度上做网站怎么做
  • 镇江网站建设 的公司公司网站建设应符合哪些法规
  • 毕业设计医院网站设计怎么做南山做网站教程
  • wordpress做导航站wordpress建站论坛
  • 网站建设的指标顺义哪里有做网站设计的
  • 用pw后缀的网站好看的网站都找谁做的
  • 企业网站开发一薇网页用什么软件制作
  • pc网站wordpress图片页面模板
  • 做网站pdf不能预览嵌入式软件开发是青春饭吗
  • 邢台123式的网站怎么做地推团队
  • 福州 哈尔滨网站建设 网络服务南通网站建设要多少钱
  • 备案网站转入阿里云郯城县网站建设
  • 免费搭建网站模板dw登录页面怎么制作
  • 培训网站建设报价单网站做的一般怎么评价
  • 网站建设免费视频教程烟台企业网站开发
  • 第18讲:商品模型 织梦网站系统 dedecms 教学课件厦门网站制作企业