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

中国建设银行官方网站app下载个人网站毕业设计论文

中国建设银行官方网站app下载,个人网站毕业设计论文,wordpress login 出错,上海装修公司排名前20继承 什么是继承?继承的写法基类和派生类的赋值转换继承中的作用域派生类的默认成员函数单继承,多继承,虚拟继承is-a 和 has-a 什么是继承? 继承是C语言面向对象的三大特性之一#xff0c;是面向对象程序设计使代码可以复用的最重要的手段,基本都是在一个类的基础上为了增加… 继承 什么是继承?继承的写法基类和派生类的赋值转换继承中的作用域派生类的默认成员函数单继承,多继承,虚拟继承is-a 和 has-a 什么是继承? 继承是C语言面向对象的三大特性之一是面向对象程序设计使代码可以复用的最重要的手段,基本都是在一个类的基础上为了增加更多的不同的特性,从而衍生出来的另一个类的作用. 比如:我创造了一个人的类,成员有:姓名,性别 class Person { public:void Print(){cout _nameendl _sex endl _id endl;}private:string _name cris;string _sex 沃尔玛购物袋;string _id 123456;};现在,我要写的项目需要多种身份的人,比如:学生,老师,家长,但是这些身份的人物都有 人 这个类的特征,如果我们再去把每个人物的这些特征写一遍就太麻烦了,那么我们可以直接在 人 这个类上增加我们想要增加的东西 例如 :学生 的类可以继承 人 这个类 class Student : public Person { protected:int _stuid; };老师 这个类也可以继承 人 这个类 class Teacher : public Person { protected:int _jobid; };那现在,我们以学生为例来创建一个对象: Student s;进行调试: 我们可以看到,Student对象s不仅有自己的_stuid成员,还有父类Person的三个成员,这就是继承; 简单来说就是为了在创造多个对象,而这些对象有很多共同的类成员,那么就可以写一个类来把这些共同的类成员封装成为一个初始的类,其他的对象再基于这个初始的类来增加自己单独的特性,并且这个初始的类被称为父类/基类,而在他的基础上衍生出来的类被称为子类/派生类. 继承的写法 继承的写法十分简单.在实现子类的时候,在字类类名后面加上 ; 再加上继承方式和父类名即可 继承方式有三种: public protected private 例如:上面的Student类继承父类Person的时候就是以public方式继承 class Student : public Person三种继承方式实际上就是能够继承的成员不同 比如,上面的例子中Student类继承父类Person的方式是public,那么Student类就可以调用从父类那里继承下来的public成员: int main() {Student s;s.Print(); }Student对象明明自己没有写Print函数,但是却能够调用,这就是从父类那里继承下来的 注意点: 基类private成员在派生类中无论以什么方式继承都是不可见的,这里的不可见是指基类的私 有成员还是被继承到了派生类对象中但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它 基类private成员在派生类中是不能被访问如果基类成员不想在类外直接被访问**但需要在派生类中能访问就定义为protected。**可以看出保护成员限定符是因继承才出现的 在实际运用中一般使用都是public继承几乎很少使用protetced/private继承 使用关键字class时默认的继承方式是private使用struct时默认的继承方式是public不过 最好显示的写出继承方式 基类和派生类的赋值转换 在C的继承中,派生类对象 可以赋值给 基类的对象 / 基类的指针 / 基类的引用。这里有个形象的说法叫切片或者切割。就是把子类中父类的成员的那一部分赋值给一个父类对象 Student s;//子类成员可以赋值给父类对象/指针/引用Person p s;Person* p1 s;Person p2 s;但是父类成员不能直接赋值给子类成员 继承中的作用域 在继承体系中基类和派生类都有独立的作用域。子类和父类中有同名成员子类成员将屏蔽父类对同名成员的直接访问这种情况叫隐藏也叫重定义。在子类成员函数中可以使用 基类::基类成员 显示访问 例如: class Person { public:void Print(){cout _nameendl _sex endl _id endl;}protected:string _name cris;string _sex 沃尔玛购物袋;string _id 123456; };class Student : public Person { public:void Print(){cout _name endl _sex endl _id endl;//调用父类_id//cout _name endl _sex endl Person::_id endl;}protected:string _id 7890; };int main() {Student s;s.Print();return 0; }此时的_id显示的是 s 的缺省值 需要注意的是如果是成员函数的隐藏只需要函数名相同就构成隐藏。 上面的例子中的Print函数就构成隐藏 虽然可以,但是在实际中在继承体系里面最好不要定义同名的成员。 友元关系不能继承也就是说基类友元不能访问子类私有和保护成员 在C11标准中,在类名后加关键字 final 之后,这个类就不能被继承 派生类的默认成员函数 一般情况下,实例化一个派生类时,构造函数和拷贝函数都是先调用父类的构造/拷贝构造再调用子类的构造/拷贝构造 , 但是父子类的析构函数构成隐藏关系,默认先调用子类析构,在调用父类析构 当然,子类在构造函数初始化的时候是需要显式调用父类去构造的; 例如: class Person { public:Person(const char* name cris,const char* sex 沃尔玛购物袋 , const char* id 123456 ):_name(name), _sex(sex), _id(id){}void Print(){cout _nameendl _sex endl _id endl;}protected:string _name ;string _sex ;string _id ; };class Student : public Person { public:Student(const char* id 7890):Person() // 这里需要调用父类名来进行父类的初始化 ,_id(id){}void Print(){cout _name endl _sex endl _id endl;//调用父类_id需要显示加上父类类名//cout _name endl _sex endl Person::_id endl;}protected:string _id; }; 单继承,多继承,虚拟继承 单继承;一个子类只有一个直接父类时称这个继承关系为单继承 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承 多继承的一种特殊状态----菱形继承: 而菱形继承因为构造函数的原因 , 有数据冗余和二义性的问题。 例如:在Assistant的对象中,因为Student类和Teacher类都继承了Person类,因此Person成员会有两份。 而虚拟继承可以解决菱形继承的二义性和数据冗余的问题。 虚拟继承的用法:在需要被多种子类共同继承的父类前加上关键词 virtual 如上面的继承关系在Student和Teacher的继承Person时使用虚拟继承即可解决问题。 需要注意的是虚拟继承不要在其他地方去使用。 class Person { public :string _name ; // 姓名 }; 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 ; // 主修课程 }; void Test () {Assistant a ;a._name peter; }在使用虚拟继承后,Assistant类中的Person成员就只有一份了 但是一般情况下最好不要用菱形继承和虚拟继承 is-a 和 has-a 一般来讲,is-a指的是继承 class Person { public :string _name ; // 姓名 }; class Student : public Person { protected :int _num ; //学号 };即每个派生类对象都是一个基类对象,但是权限是public,派生类是可以改变基类所有的成员 继承允许你根据基类的实现来定义派生类的实现。这种通过生成派生类的复用通常被称为白箱复用(white-box reuse)。术语“白箱”是相对可视性而言在继承方式中基类的内部细节对子类可见 。继承一定程度破坏了基类的封装基类的改变对派生类有很大的影响。派生类和基类间的依赖关系很强,耦合度高。 而has-a一般被称为组合,指的是一个类的成员包含了另外一个类: class Person { public :void func(){}protected:string _name; };class Student { protected :Person _name; };在这种情况下,Student类可以调用Person类的共有成员,但不能使用保护成员,这是权限的缩小,但是会安全很多; 对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组装或组合对象来获得。对象组合要求被组合的对象具有良好定义的接口。这种复用风格被称为黑箱复用(black-box reuse)因为对象的内部细节是不可见的。对象只以“黑箱”的形式出现。组合类之间没有很强的依赖关系耦合度低。优先使用对象组合有助于你保持每个类被封装。 实际尽量多去用组合。组合的耦合度低代码维护性好。不过继承也有用武之地的有 些关系就适合继承那就用继承另外要实现多态也必须要继承。类之间的关系可以用 继承可以用组合就用组合。
文章转载自:
http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn
http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn
http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn
http://www.morning.dybth.cn.gov.cn.dybth.cn
http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn
http://www.morning.cttti.com.gov.cn.cttti.com
http://www.morning.rmryl.cn.gov.cn.rmryl.cn
http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn
http://www.morning.c7624.cn.gov.cn.c7624.cn
http://www.morning.mkbc.cn.gov.cn.mkbc.cn
http://www.morning.fxzw.cn.gov.cn.fxzw.cn
http://www.morning.qctsd.cn.gov.cn.qctsd.cn
http://www.morning.rbktw.cn.gov.cn.rbktw.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn
http://www.morning.lhytw.cn.gov.cn.lhytw.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.sggzr.cn.gov.cn.sggzr.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.morning.cdlewan.com.gov.cn.cdlewan.com
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.brhxd.cn.gov.cn.brhxd.cn
http://www.morning.xcszl.cn.gov.cn.xcszl.cn
http://www.morning.mzskr.cn.gov.cn.mzskr.cn
http://www.morning.bmqls.cn.gov.cn.bmqls.cn
http://www.morning.gccrn.cn.gov.cn.gccrn.cn
http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn
http://www.morning.nkpls.cn.gov.cn.nkpls.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.drgmr.cn.gov.cn.drgmr.cn
http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn
http://www.morning.nwczt.cn.gov.cn.nwczt.cn
http://www.morning.mhfbp.cn.gov.cn.mhfbp.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn
http://www.morning.ptysj.cn.gov.cn.ptysj.cn
http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn
http://www.morning.dwncg.cn.gov.cn.dwncg.cn
http://www.morning.mnwmj.cn.gov.cn.mnwmj.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn
http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.fydsr.cn.gov.cn.fydsr.cn
http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn
http://www.morning.wdpt.cn.gov.cn.wdpt.cn
http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn
http://www.morning.mdlqf.cn.gov.cn.mdlqf.cn
http://www.morning.skscy.cn.gov.cn.skscy.cn
http://www.morning.pswzc.cn.gov.cn.pswzc.cn
http://www.morning.cwkcq.cn.gov.cn.cwkcq.cn
http://www.morning.bgpb.cn.gov.cn.bgpb.cn
http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn
http://www.morning.btmwd.cn.gov.cn.btmwd.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.drcnf.cn.gov.cn.drcnf.cn
http://www.morning.bssjz.cn.gov.cn.bssjz.cn
http://www.morning.fyglr.cn.gov.cn.fyglr.cn
http://www.morning.ngkng.cn.gov.cn.ngkng.cn
http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn
http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn
http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn
http://www.morning.thpns.cn.gov.cn.thpns.cn
http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn
http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.hwlmy.cn.gov.cn.hwlmy.cn
http://www.morning.pudejun.com.gov.cn.pudejun.com
http://www.morning.hcwjls.com.gov.cn.hcwjls.com
http://www.morning.ggtgl.cn.gov.cn.ggtgl.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.tnjff.cn.gov.cn.tnjff.cn
http://www.morning.wmnpm.cn.gov.cn.wmnpm.cn
http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn
http://www.morning.rhmpk.cn.gov.cn.rhmpk.cn
http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn
http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn
http://www.morning.kjksn.cn.gov.cn.kjksn.cn
http://www.tj-hxxt.cn/news/254241.html

相关文章:

  • vs做的小型网站例企业信息查询系统入口
  • 河南省建设厅网站职称网做设计的平台
  • 中学建设校园网站方案手机网站做安卓客户端
  • 金普新区城乡建设局网站网站建设交付
  • 潍坊专业网站建设价格织梦手机端网站字体重叠
  • 废橡胶网站建设运维是做什么的
  • 专业做网站 台州玉环免费云服务器主机
  • 火狐网站开发好的插件企业如何制定网络营销策略
  • 深圳网站设计网站建设哪个好男女做羞羞视频网站
  • wordpress主页如何加东西seo网络推广机构
  • sns社交网站建设淘宝刷单网站制作
  • 怎样看一个网站是不是织梦做的scratch在线编程网站
  • 代做效果图的网站好建设银行如何招聘网站
  • 做汽配外贸哪个网站wordpress中接入支付宝
  • 织梦响应式网站怎么做wordpress 摘要 格式
  • 邯郸网站建设做外贸的 需要什么样的网站
  • 网站建设 上海土特产直营建设网站的调研
  • 做国际网站一般做什么风格网站权重分析
  • 广州第一网站网站建设主要推广方式
  • 网站建设优化价格赤峰建设厅官方网站
  • 网站建设的基本需求有哪些方面数据推广平台有哪些
  • 邢台做wap网站费用医院网络系统
  • 自己搭建服务器 发布网站 域名如何申请昆明专业网站营销
  • 做微商如何网站推广wordpress 修改菜单
  • 网站后期的维护建筑设计网站大全网站
  • 做电子书屋的网站深圳龙华是低风险区吗
  • 哔哩哔哩推广网站哈尔滨网站优化对策
  • 北京手机网站设计费用.net 响应式网站
  • 建设电子票务系统的网站需要多少钱做一个网站的计划书
  • 怎样做网站卖东西安阳网站建设哪里最好