经济学继承与派生类学习教案_第1页
经济学继承与派生类学习教案_第2页
经济学继承与派生类学习教案_第3页
经济学继承与派生类学习教案_第4页
经济学继承与派生类学习教案_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1经济学继承经济学继承(jchng)与派生类与派生类第一页,共141页。第1页/共140页第二页,共141页。第2页/共140页第三页,共141页。第3页/共140页第四页,共141页。第4页/共140页第五页,共141页。第5页/共140页第六页,共141页。第6页/共140页第七页,共141页。返回返回第7页/共140页第八页,共141页。第8页/共140页第九页,共141页。员函数员函数;n第9页/共140页第十页,共141页。第10页/共140页第十一页,共141页。第11页/共140页第十二页,共141页。第12页/共140页第十三页,共141页。第13页/共140页第十四页,

2、共141页。第14页/共140页第十五页,共141页。返回返回第15页/共140页第十六页,共141页。 在基类中的访问属在基类中的访问属性性 继承方式继承方式在派生类中的访问属性在派生类中的访问属性 private public 不可直接访问不可直接访问 private private 不可直接访问不可直接访问 private protected 不可直接访问不可直接访问 public public public public private private public protected protected protected public protected protected pri

3、vate private protected protected protected第16页/共140页第十七页,共141页。公有成员公有成员私有成员私有成员保护成员保护成员公有继承公有不可访问保护私有继承私有不可访问私有保护继承保护不可访问保护继承继承(jchng)方式方式基类成员基类成员(chngyun)返回返回第17页/共140页第十八页,共141页。第18页/共140页第十九页,共141页。第19页/共140页第二十页,共141页。第20页/共140页第二十一页,共141页。class derived:private base /声明一个私有派生类声明一个私有派生类public: vo

4、id setxy(int n, int m) setx(n); /setx( )在派生类中为在派生类中为private成员成员(chngyun),派生类成员,派生类成员(chngyun)函数可函数可以访问以访问 y=m; void showxy( ) coutx; /非法,在派生类中不能直接访问基类的私有成员非法,在派生类中不能直接访问基类的私有成员(chngyun)x coutyendl; private: int y;showx( );第21页/共140页第二十二页,共141页。base base_obj;base_obj.setx(10);base_obj.showx( );第22页/共

5、140页第二十三页,共141页。第23页/共140页第二十四页,共141页。第24页/共140页第二十五页,共141页。若将其改为(i wi)showa( );呢?将其改为:void showabc( )showab( );cout“c=”cendl;第25页/共140页第二十六页,共141页。第26页/共140页第二十七页,共141页。 基类成员基类成员private成员成员public成员成员protected成员成员内部访问内部访问对象访问对象访问 不可访问不可访问不可访问不可访问可访问可访问不可访问不可访问可访问可访问不可访问不可访问第27页/共140页第二十八页,共141页。第28页

6、/共140页第二十九页,共141页。第29页/共140页第三十页,共141页。showxy( );第30页/共140页第三十一页,共141页。第31页/共140页第三十二页,共141页。 基类成员基类成员Private成员成员public成员成员protected成员成员 内部访问内部访问 对象访问对象访问 不可访问不可访问不可访问不可访问 可访问可访问 可访问可访问可访问可访问不可访问不可访问第32页/共140页第三十三页,共141页。第33页/共140页第三十四页,共141页。第34页/共140页第三十五页,共141页。第35页/共140页第三十六页,共141页。setx(a);第36页/

7、共140页第三十七页,共141页。第37页/共140页第三十八页,共141页。第38页/共140页第三十九页,共141页。 基类成员基类成员private成员成员public成员成员protected成员成员内部访问内部访问 对象访问对象访问 不可访问不可访问不可访问不可访问可访问可访问不可访问不可访问可访问可访问不可访不可访问问返回返回第39页/共140页第四十页,共141页。第40页/共140页第四十一页,共141页。第41页/共140页第四十二页,共141页。第42页/共140页第四十三页,共141页。第43页/共140页第四十四页,共141页。返回返回第44页/共140页第四十五页,共

8、141页。第45页/共140页第四十六页,共141页。第46页/共140页第四十七页,共141页。第47页/共140页第四十八页,共141页。第48页/共140页第四十九页,共141页。n始化语句始化语句n 第49页/共140页第五十页,共141页。第50页/共140页第五十一页,共141页。第51页/共140页第五十二页,共141页。第52页/共140页第五十三页,共141页。第53页/共140页第五十四页,共141页。第54页/共140页第五十五页,共141页。第55页/共140页第五十六页,共141页。返回返回第56页/共140页第五十七页,共141页。第57页/共140页第五十八页,共

9、141页。第58页/共140页第五十九页,共141页。第59页/共140页第六十页,共141页。第60页/共140页第六十一页,共141页。第61页/共140页第六十二页,共141页。class 派生类名派生类名:继承方式继承方式(fngsh)1 基类名基类名1, ,继承方式继承方式(fngsh)n 基类名基类名n / 派生类新增的数据成员和成员函数派生类新增的数据成员和成员函数 ; 第62页/共140页第六十三页,共141页。第63页/共140页第六十四页,共141页。第64页/共140页第六十五页,共141页。第65页/共140页第六十六页,共141页。第66页/共140页第六十七页,共1

10、41页。第67页/共140页第六十八页,共141页。第68页/共140页第六十九页,共141页。第69页/共140页第七十页,共141页。Y public: f( ); g( ); X public: f( ); Z X public: f( ); Y public: f( ); g( ); g( );h( );第70页/共140页第七十一页,共141页。返回返回第71页/共140页第七十二页,共141页。派生类名派生类名(参数参数(cnsh)总表总表):基类名基类名1(参数参数(cnsh)表表1),基类名基类名2(参数参数(cnsh)表表2),基类名基类名n(参数参数(cnsh)表表n) /

11、 派生类新增成员的初始化语句派生类新增成员的初始化语句 第72页/共140页第七十三页,共141页。第73页/共140页第七十四页,共141页。第74页/共140页第七十五页,共141页。第75页/共140页第七十六页,共141页。第76页/共140页第七十七页,共141页。第77页/共140页第七十八页,共141页。第78页/共140页第七十九页,共141页。返回返回第79页/共140页第八十页,共141页。第80页/共140页第八十一页,共141页。第81页/共140页第八十二页,共141页。base protected: int a; 第82页/共140页第八十三页,共141页。base

12、1 base protected: int a; base2 base protected: int a; 第83页/共140页第八十四页,共141页。base2 base protected: int a; base1 base protected: int a; derived第84页/共140页第八十五页,共141页。第85页/共140页第八十六页,共141页。第86页/共140页第八十七页,共141页。class 派生类名派生类名 : virtual 继承继承(jchng)方式方式 类名类名 / 第87页/共140页第八十八页,共141页。第88页/共140页第八十九页,共141页。b

13、ase protected: int a; 第89页/共140页第九十页,共141页。base1 base protected: int a; base2 base protected: int a; 第90页/共140页第九十一页,共141页。base protected: int a; derivedbase2 base1 第91页/共140页第九十二页,共141页。 base base1 base2 derived 第92页/共140页第九十三页,共141页。第93页/共140页第九十四页,共141页。第94页/共140页第九十五页,共141页。第95页/共140页第九十六页,共141页

14、。第96页/共140页第九十七页,共141页。第97页/共140页第九十八页,共141页。第98页/共140页第九十九页,共141页。第99页/共140页第一百页,共141页。第100页/共140页第一百零一页,共141页。nclass derived: public virtual basen/.n;第101页/共140页第一百零二页,共141页。第102页/共140页第一百零三页,共141页。第103页/共140页第一百零四页,共141页。返回返回第104页/共140页第一百零五页,共141页。第105页/共140页第一百零六页,共141页。第106页/共140页第一百零七页,共141页。

15、n根据赋值兼容规则, 以下几种情况是合法的: 第107页/共140页第一百零八页,共141页。第108页/共140页第一百零九页,共141页。第109页/共140页第一百一十页,共141页。第110页/共140页第一百一十一页,共141页。第111页/共140页第一百一十二页,共141页。第112页/共140页第一百一十三页,共141页。第113页/共140页第一百一十四页,共141页。第114页/共140页第一百一十五页,共141页。derive的对象op2n ptr=&op1; /将指针ptr指向对象op1n ptr=&op2; /错误,不允许将base类指针ptr指向它的

16、私有派生类对象op2 第115页/共140页第一百一十六页,共141页。第116页/共140页第一百一十七页,共141页。第117页/共140页第一百一十八页,共141页。第118页/共140页第一百一十九页,共141页。第119页/共140页第一百二十页,共141页。返回返回第120页/共140页第一百二十一页,共141页。第121页/共140页第一百二十二页,共141页。class base2:public base0protected:int b2;class derived:public base1,public base2 float d;pulic: derived( );第122

17、页/共140页第一百二十三页,共141页。float dderived base1int b1;base0int b0;base2int b2;base0int b0;pdpd=&dpb1=pd;pb2=pd;pb1pb2pb=pd;pb第123页/共140页第一百二十四页,共141页。第124页/共140页第一百二十五页,共141页。n .n 返回返回第125页/共140页第一百二十六页,共141页。第126页/共140页第一百二十七页,共141页。base & eb=d;n但是,相反的转换(zhunhun)是不允许的,即使用指定路径的强制类型转换(zhunhun)也不可 。第127页/共140页第一百二十八页,共141页。base0base1base2derivedpb0pb1pdpb2第128页/共140页第一百二十九页,共141页。pd=pb1;pd=pb2;pd=(base1 *)pb1;pd=(base2*)pb2;pd=pb0;pd=(base0 *)pb0;pd=(base1*)pb0;pd=(base1*)(base0*)pb0;返回返回第129页/共140页第一百三十页,共141页。第130页/共140页第一百三十一页,共141页。第131页/共140页第一百三十二页,共1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论