C继承性剖析

C+4•继承性剖析AnalysisonC++Inheritance庞新法PANGXin-fa(陕丙省委党校科技教研部,丙安710061)(ShaanxiProvincePartySchooloftheCPC,Xi'an710061,China)摘要院木文通过实例,用通俗易懂的语言,剖析了C++的继承机制,引进、改革、发展。Abstract:Throughexamples,thispaperusesplainlanguagetoanalyzetheinheritancemechanism,introduction,reformanddevelopmentofC++.关键词院C++程序设计;面向对象;继承Keywords:C++programming;object-oriented;inheritance院TP312文献标识码院A院1006-4311(2014)18-0207-021绪论“继承”是面向对象程序设计技术的三大机制之一。继承是指一个对象直接使用另一对象的属性和方法。实际生活中我们经常见到很多继承的例子,如知识的继承、财产的继承等。若把“人”看成一个实体,它可以分成多个子实体,“学生”、“教师”等。这些子实体都具有“人”的特性、属性,因此,“人”是它们的“父亲”,而这些子实体则是“人”的“孩子”。“人”是“基类”、“父类”,“学生”和“教师”是“派生类”、“子类”,子类继承了父类的所有行为和特征,父类派牛.了子类。继承就是利用己有的数据类型定义出新的数据类型,用于实现软件重复利用。2继承吸收基类成员继承可以使得子类異有父类的各种属性和方法,子类把父类所有成员全接受、引进、吸收,子类含了父类所有成员(构造、析构函数除外)。3继承可减少代码重复编程继承可以使得子类只有父类的各种属性和方法,而不需要再次重写相同的代码。4继承类可增加新成员子类继承父类,除具有父类的属性、方法以外,还可以增加自己的新特性、新方法。5可以重写基类成员函数在子类继承父类的同吋,可以重写某些方法,即覆盖父类的原有方法,使其获得与父类不同的功能,既继承又推陈出新。如例1student类不再沿用父类的print()例1classstudent:publicperson{public:student(char*n,char*b,char*s,intsc):person(n,b,s){score=sc;}printsex《《7《《score《《endl;}//重新定义基类函数成员private:intscore;};"成绩voidmain(){studentx("张小刚","1980-09-12","男",90};x.print0;}"调用student类中的print(),并非per原son类中的print()6可以重写基类数据成员在子类继承父类的同时,可以重新定义某些属性,即覆盖父类的原奋属性,使苏获得与父类不同的功能,既继承又有个性,有调整。如例2父类姓名最多6个字符,子类姓名最多8个字符。派生类中若出现与所继承基类中同名的成员函数,即使参数列表不相同,基类中的同名函数也会被覆盖掉。与此类似,同名的基类数据成员也会被隐藏。基类中的成员就被替换成派生类中的同名成员。伊J2#include"iostream.hH#include"string.h"classperson{public:charname[7];//姓名最多6个字符print(){cout《《name《《endl;}};classstudent:publicperson{public:print(){cout《《name《《endl;}charname[9];//重定义姓名最多8个字符private:!ntscore;};//成绩voidmain(){studentx;strcpy(x.name/•学生姓名••);//student的namestrcpy(x.person::name,"人姓名•’);//person的namex.print();x.person::print();}当子类与基类成员重名吋,若为public则在类外访问时,对象名.成员名访问子类成员、对象名.基类名::成员名访问基类成员。在子类成员函数访问时,成员名访问子类成员、基类名::成员名访问基类成员。7派生类声明格式class派生类名:继承方式基类名{新增成员声明;}三种继承方式:由于继承方式可以有public、private和protected三种,不同的继承方式会导致原来具冇不同访问属性的基类成员在派生类中的访问属性也冇所不冋。这种访问包括两个方面:一是派生类中新增成员对从基类继承来的成员的访问;二是派生类的外部通过派生类的对象从基类继承来的成员的访问。公有继承public(原封不动):基类的公有成员和保护成员可以作为其派生类的公有成员和保护成员。派生类的成员函数可以访问基类中的公奋成员和保护成员,无法直接访问基类中的私有成员(不可见、隐藏),只有通过基类提供的访问权限为public和protected的成员函数来访问。派生类的对象可以访问基类的公有成员。例3include"i...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?