c继承性剖析

c继承性剖析

ID:31630669

大小:55.88 KB

页数:3页

时间:2019-01-16

c继承性剖析_第1页
c继承性剖析_第2页
c继承性剖析_第3页
资源描述:

《c继承性剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C++继承性剖析AnalysisonC++Inheritanee庞新法PANGXin-fa(陕西省委党校科技教研部,西安710061)(ShaanxiProvincePartySchooloftheCPC,Xi'an710061,China)摘要院本文通过实例,用通俗易懂的语言,剖析了C++的继承机制,引进、改革、发展。Abstract:Throughexamples,thispaperusesplainIanguagetoanalyzetheinheritancemechanism”introduction,re

2、formanddevelopmentofC++・关键词院C++程序设计;面向对象;继承Keywords:C++programming;object-oriented;inheritance中图分类号院TP312文献标识码院A文章编号院1006-4311(2014)18-0207-021绪论“继承”是面向对象程序设计技术的三大机制之一。继承是指一个对象直接使用另一对象的属性和方法。实际牛活中我们经常见到很多继承的例子,如知识的继承、财产的继承等。若把“人”看成一个实体,它可以分成多个子实体,“学牛”、“教师”等。这些

3、子实体都具有“人”的特性、属性,因此,“人”是它们的“父亲”,而这些子实体则是“人”的“孩子”。“人”是“基类”、“父类”,“学牛”和“教师”是“派生类”、“子类”,子类继承了父类的所有行为和特征,父类派牛了子类。继承就是利用己有的数据类型定义出新的数据类型,用于实现软件重复利用。2继承吸收基类成员继承可以使得子类具有父类的各种属性和方法,子类把父类所有成员全接受、引进、吸收,子类包含了父类所有成员(构造、析构函数除外)。3继承可减少代码重复编程继承可以使得子类具有父类的各种属性和方法,而不需要再次重写相同的代码。

4、4继承类可增加新成员子类继承父类,除具有父类的属性、方法以外,还可以增加自己的新特性、新方法。5可以重写基类成员函数在子类继承父类的同时,可以重写某些方法,即覆盖父类的原有方法,使其获得与父类不同的功能,既继承又推陈岀新。如例1student类不再沿用父类的print()例1classstudent:publicperson{public:student(char*n,char*b,char*s,intsc):person(n,b,s){score=sc;}print(){cout<<name<b

5、irthday<&<sex<<7<<score<<endl;}//重新定义基类函数成员private:intscore;};〃成绩voidmain(){studentx(”张小刚"z"1980-09-12Hz"男舄90);x.print();}//调用student类中的print(),并非per原son类中的print()6可以重写基类数据成员在子类继承父类的同时,可以重新定义某些属性,即覆盖父类的原有属性,使其获得与父类不同的功能,既继承又有个性,有调整。如例2父

6、类姓名最多6个字符,子类姓名最多8个字符。派生类中若出现与所继承基类中同名的成员函数,即使参数列表不相同,基类中的同名函数也会被覆盖掉。与此类似,同名的基类数据成员也会被隐藏。基类中的成员就被替换成派生类中的同名成员。伤

7、]2#include"iostream.hH#include"string.h”classperson{public:charname[7];〃姓名最多6个字符print(){cout<<name<<endl;}};classstudent:publicperson{pub

8、lic:print(){cout<<name<<endl;}charname[9];//重定义姓名最多8个字符private:intscore;};〃成绩voidmain(){studentx;strcpy(x.name,"学生姓名");//student的namestrcpy(x.person::name,"人姓名");//person的namex.print();x.person::print();}当子类与基类成员重名吋,若为public则在类外访问时,对象名•成员名访问子类成员、对象

9、名•基类名::成员名访问基类成员。在子类成员函数访问吋,成员名访问子类成员、基类名::成员名访问基类成员。7派生类声明格式class派生类名:继承方式基类名{新增成员声明;}三种继承方式:由于继承方式可以有public、private和protected三种,不同的继承方式会导致原来具有不同访问属性的基类成员在派生类中的访问属性也有所不同。这种访问包括两个方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。