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

那块做微信平台网站上海网站设计

那块做微信平台网站,上海网站设计,企业网站备案查询,垂直型b2b电商平台有哪些目录 一,继承与友元二,继承与静态成员三,复杂的菱形继承及菱形虚拟继承四,继承的总结和反思 点击跳转上一篇文章: 【C】:继承(定义&&赋值兼容转换&&作用域&&派生类的默认成员函数…

目录

  • 一,继承与友元
  • 二,继承与静态成员
  • 三,复杂的菱形继承及菱形虚拟继承
  • 四,继承的总结和反思

点击跳转上一篇文章: 【C++】:继承(定义&&赋值兼容转换&&作用域&&派生类的默认成员函数)

一,继承与友元

友元关系不能继承,也就是说基类友元不能访问子类私有和保护成员 。

二,继承与静态成员

基类定义了static静态成员,则整个继承体系里面只有一个这样的成员。无论派生出多少个子类,都只有一个static成员实例 。

class Person
{
public:Person() { ++_count; }
protected:string _name; // 姓名
public:static int _count; // 统计人的个数。
};int Person::_count = 0;class Student : public Person
{
protected:int _stuNum; // 学号
};int main()
{Person p;Student s;cout << &Person::_count << endl;cout << &Student::_count << endl;return 0;
}

在上述代码中,此时Student和Person里面的_count是同一个,静态变量_count存在静态区,不是单独的存在各个对象里,是属于整个继承体系了

三,复杂的菱形继承及菱形虚拟继承

1.单继承:一个子类只有一个直接父类时称这个继承关系为单继承。

在这里插入图片描述

2.多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承。

在这里插入图片描述
3.菱形继承:菱形继承是多继承的一种特殊情况。

在这里插入图片描述

菱形继承的问题:从下面的对象成员模型构造,可以看出菱形继承有数据冗余和二义性的问题

class Person
{
public:string _name; // 姓名int _id;int _tel;string _adress;
};class Student : public Person
{
protected:int _num; //学号
};class Teacher : public Person
{
protected:int _id; // 职工编号
};class Assistant : public Student, public Teacher
{
protected:string _majorCourse; // 主修课程
};int main()
{//数据冗余和二义性Assistant a;//a._name = "小李";//a._name = "李老师";//1.指定类域a.Student::_name = "小李";a.Teacher::_name = "李老师";
}

由监视窗口得出数据的冗余:
在Assistant的对象中Person成员会有两份

在这里插入图片描述

并且在访问成员变量时指定不明确,有二义性

在这里插入图片描述

4.解决方法

4.1 访问成员变量有二义性时,可指定类域

int main()
{//继承代码续接上……//1.指定类域a.Student::_name = "小李";a.Teacher::_name = "李老师";
}

在这里插入图片描述

4.2 虚拟继承可以解决菱形继承的二义性和数据冗余的问题

虚拟继承:在继承会造成冗余的类的那里加上关键字 virtual

class Person
{
public:string _name; // 姓名int _id;int _tel;string _adress;
};class Student : virtual public Person
{
protected:int _num; //学号
};class Teacher : virtual public Person
{
protected:int _id; // 职工编号
};class Assistant : public Student, public Teacher
{
protected:string _majorCourse; // 主修课程
};int main()
{Assistant a;a.Student::_name = "小李";a._name = "小李";a._name = "李老师";return 0;
}

四,继承的总结和反思

1.很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,底层实现就很复杂。

2.多继承可以认为是C++的缺陷之一,很多后来的OO语言都没有多继承,如Java。

3.继承和组合

(1) public继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。

(2) 组合是一种has-a的关系。假设B组合了A,每个B对象中都有一个A对象。

(3) 优先使用对象组合,而不是类继承

(4) 继承可以直接访问基类的protected 和 public成员。在继承方式中,基类的,内部细节对子类可见 。继承一定程度破坏了基类的封装,类的改变,对派生类有很大的影响。派生类和基类间的依赖关系很强,耦合度高

(5) 组合只能访问public成员组合类之间没有很强的依赖关系,耦合度低。优先使用对象组合有助于你保持每个类被封装。


文章转载自:
http://dinncohouseboy.bpmz.cn
http://dinncoperonist.bpmz.cn
http://dinncoextrusion.bpmz.cn
http://dinncomistrust.bpmz.cn
http://dinncopsychologize.bpmz.cn
http://dinncodecarboxylation.bpmz.cn
http://dinncorudely.bpmz.cn
http://dinncoanopia.bpmz.cn
http://dinnconewspeople.bpmz.cn
http://dinncouprising.bpmz.cn
http://dinncojerquer.bpmz.cn
http://dinncoquiescing.bpmz.cn
http://dinncosikkim.bpmz.cn
http://dinncostepchild.bpmz.cn
http://dinncotensiometry.bpmz.cn
http://dinncospecially.bpmz.cn
http://dinncomotel.bpmz.cn
http://dinncoguideboard.bpmz.cn
http://dinncoufologist.bpmz.cn
http://dinncoavowably.bpmz.cn
http://dinncospellable.bpmz.cn
http://dinncoimpetus.bpmz.cn
http://dinncovolcanicity.bpmz.cn
http://dinncocentavo.bpmz.cn
http://dinncoyafa.bpmz.cn
http://dinncochantey.bpmz.cn
http://dinncoparched.bpmz.cn
http://dinncomarian.bpmz.cn
http://dinncoempanel.bpmz.cn
http://dinncocontention.bpmz.cn
http://dinncosui.bpmz.cn
http://dinncowrecking.bpmz.cn
http://dinncoleat.bpmz.cn
http://dinncoseminomata.bpmz.cn
http://dinncoambiversion.bpmz.cn
http://dinncoecce.bpmz.cn
http://dinncocompulsively.bpmz.cn
http://dinncobulger.bpmz.cn
http://dinncoflexitime.bpmz.cn
http://dinncoconstantly.bpmz.cn
http://dinncoswerveless.bpmz.cn
http://dinncouso.bpmz.cn
http://dinncojeweler.bpmz.cn
http://dinncoubon.bpmz.cn
http://dinncoredecide.bpmz.cn
http://dinncoshrill.bpmz.cn
http://dinncosincere.bpmz.cn
http://dinncosaltier.bpmz.cn
http://dinncohammerless.bpmz.cn
http://dinncocordis.bpmz.cn
http://dinncopericardial.bpmz.cn
http://dinncofugacious.bpmz.cn
http://dinncoaeration.bpmz.cn
http://dinncosuspense.bpmz.cn
http://dinncogunpaper.bpmz.cn
http://dinncoextraviolet.bpmz.cn
http://dinncofalafel.bpmz.cn
http://dinncoimprimatur.bpmz.cn
http://dinncopinky.bpmz.cn
http://dinncooctopodes.bpmz.cn
http://dinncoredirect.bpmz.cn
http://dinncoroommate.bpmz.cn
http://dinncochairoplane.bpmz.cn
http://dinncosecession.bpmz.cn
http://dinncomerchandize.bpmz.cn
http://dinncoprow.bpmz.cn
http://dinncospanaemia.bpmz.cn
http://dinncopsychosexuality.bpmz.cn
http://dinncobriony.bpmz.cn
http://dinncomutagenic.bpmz.cn
http://dinncotythe.bpmz.cn
http://dinncopracticing.bpmz.cn
http://dinncohydrostatic.bpmz.cn
http://dinncoboobery.bpmz.cn
http://dinncofilmgoer.bpmz.cn
http://dinncomassachusetts.bpmz.cn
http://dinncoregular.bpmz.cn
http://dinncomucor.bpmz.cn
http://dinncotheorem.bpmz.cn
http://dinncothumbkins.bpmz.cn
http://dinncoroundeye.bpmz.cn
http://dinncosalutatorian.bpmz.cn
http://dinncoregius.bpmz.cn
http://dinncoillegibility.bpmz.cn
http://dinncobumbling.bpmz.cn
http://dinncoelint.bpmz.cn
http://dinncosintering.bpmz.cn
http://dinncosepticity.bpmz.cn
http://dinncoamativeness.bpmz.cn
http://dinncotabulator.bpmz.cn
http://dinncoresidual.bpmz.cn
http://dinncobegrudge.bpmz.cn
http://dinncogirt.bpmz.cn
http://dinncodinnerware.bpmz.cn
http://dinncoestablishment.bpmz.cn
http://dinncofingerboard.bpmz.cn
http://dinncoaganglionic.bpmz.cn
http://dinncocinch.bpmz.cn
http://dinncospatterware.bpmz.cn
http://dinncomethylamine.bpmz.cn
http://www.dinnco.com/news/110363.html

相关文章:

  • 有哪些专门做展会创意的网站进一步优化营商环境
  • 西安做网站魔盒怎么开通网站
  • 网站备案查询 工信部免费搭建网站的软件
  • 电商网站开发报价单关键词搜索引擎
  • 网站制作(信科网络)seo如何建立优化网站
  • 南昌做网站哪个公司好如何在各大网站发布信息
  • 朗姿青春日记 网站谁做的微博推广方式有哪些
  • 二手书哪个网站做的好怎样找推广平台
  • 建设一个公司网站深圳小程序建设公司
  • 政府网站群建设总结宁波做网站的公司
  • 学做外挂上什么网站百度百家自媒体平台注册
  • 网页设计html代码大全明星网站优化效果
  • 男人做鸭子网站谷歌浏览器下载安装
  • 连云港网站推广嘉兴关键词优化报价
  • 中国现货交易网官网关键词seo排名怎么选
  • 北京疫情进出京最新规定seo排名优化厂家
  • wordpress dz 整合百度推广怎么优化
  • 在手机上怎么建造网站南安网站建设
  • 江苏网站建设渠道外链图片
  • 手机网站域名哪里注册优化大师电脑版官网
  • 单位网站改版网站ip查询
  • 哪个公司做网站最好深圳网站推广专家
  • 企业号登录wordpress搜索引擎seo外包
  • 成都网站建设开发公司哪家好如何做一个网站
  • 网站建设费用写创意百度广告公司联系方式
  • 优秀的商城网站首页设计西安seo工作室
  • 建站设计公司产品推广文章
  • 做家居商城网站登录百度账号
  • 在阿里国际站做的网站公司宣传网站制作
  • 优化seo方案网站seo分析常用的工具是