C++面向对象基础-2.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

2.友员类把类Y声明为类X的友员可以使得:?类Y的所有成员函数都是类X的友员?类Y的成员函数可以访问类X的所有成员*classA; {friendclassB; //说明类B是类A的友员public:voidDisplay(){coutxendl;};private: intx;};classB{public:voidSet(inti){a.x=i;};//使用类A对象a的私有数据成员voidDisplay(){a.Display();};private:Aa; //类A对象a是私有数据成员};intmain(){Bb; b.set(100);b.display();return0;}*多重继承*如果一个派生类只有一个直接基类,这种类的层次结构称为单继承结构如果一个派生类有两个或多个直接基类,这种类的层次结构则称为多继承结构多重继承1.多继承概念?一个类有多个直接基类的继承关系称为多继承?多继承声明语法class派生类名:访问控制基类名1,访问控制基类名2,…,访问控制基类名n{数据成员和成员函数声明};*多重继承classC:publicA,privateBclassAclassB?类C可以根据访问控制同时继承类A和类B的成员,并添加自己的成员*classA{public:voidsetA(intx){a=x;};voidshowA(){coutaendl;};private:inta;};classB{public:voidsetB(intx){b=x;};voidshowB(){coutbendl;};private:intb;};classC:publicA,privateB //C公有继承A,私有继承B{public:voidsetC(intx,inty,intz){setA(x);setB(y);c=z;};voidshowC(){showA();showB();coutcendl;};private:intc;};intmain(){Cobj;obj.setA(5);obj.showA();obj.setC(6,7,9);obj.showC();obj.setB(6);//errorobj.showB();//errorreturn0;}?*2.虚基类?如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性*例如:classB{public:intb;};classB1:publicB{private:intb1;};classB2:publicB{private:intb2;};classC:publicB1,publicB2{public:intf();private:intd;};有:Cc;c.b //errorc.B::b //error,从哪里继承的?c.B1::b //ok,从B1继承的c.B2::b //ok,从B2继承的classC{f(),d}classB1{b1}classB2{b2}classB{b}classB{

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档