- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8 继承与派
第8单元 继承与派生;引言;继承与派生问题举例;引言;8.1 基本概念;8.1 基本概念;继承:根据一个类创建一个新类的过程。继承目的就是实现代码重用;
派生:从已有类产生新类的过程就是类的派生。
派生的目的是,当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造;
基类:通常将用来派生新类的类称为基类,又称为父类;
派生类:派生出来的新类称为派生类,又称为子类。 ; 派生类是特殊的基类,基类是派生类的抽象描述。
派生类自动继承了基类的成员,但并不等同于基类,否则就没有派生的必要了。例如基类的私有成员不能被继承。; class 派生类名:继承方式 基类名
{
派生类新定义成员
};;其中,继承方式有三种:
公有继承:public
私有继承:private
保护继承:protected
缺省情况下为私有继承。
不同继承方式的影响主要体现在:
派生类成员对基类成员的访问控制;
派生类对象对基类成员的访问控制。;class Person //定义基类Person
{
public:
Person(const char* Name,int Age,char Sex);
char* GetName()
{
return(name);
}
int GetAge();
char GetSex();
void Display();
private:
char name[11];
char sex;
protected:
int age;
};;Person::Person(const char *Name,int Age,char Sex)
{
strcpy(name,Name);
age=Age;
sex=Sex;
}
int Person::GetAge()
{
return(age);
}
char Person::GetSex()
{
return(sex);
}
void Person::Display()
{
coutname:name′\t′;
coutage:age′\t′;
coutsex:sexendl;
};class Student:public Person
{
public:
Student(char* pName,int Age,char Sex,char* pId,float Score)
:Person(pName,Age,Sex)
{
strcpy(id,pId); //学生类的数据初始化
score=Score;
}
char* GetId(char* pId) //派生类的新成员
{ return(id); }
float GetScore() //派生类的新成员
{ return score; }
void Display(); //派生类的新成员
private:
char id[9];
float score;
};;void main()
{
char name[11];
coutEnter a person′s name:;
cinname;
Person p1(name,29,′m′); //基类对象
p1.Display(); //基类对象访问基类公有成员函数
char pId[9];
coutEnter a student’s name:;
cinname;
Student s1(name,19,′f′95); //派生类对象
//派生类对象访问基类成员函数
coutname:s1.GetName()′\t′;
coutid:s1.GetId(pId)′\t′;
coutage:s1.GetAge()′\t′;
coutsex:s1.GetSex()′\t′;
coutscore:s1.GetScore()endl;
}; 分析派生新类的过程可知,派生类的生成经历了三个步骤:
吸收基类成员
派生类吸收基类的大部分成员,不吸收构造函数和析构函数等
改造基类成员
由于基类成员在派生类中可能不起作用,但也被继承下来,在生成对象时占用内存空间,造成资源浪费。
(1).通过派生类定义时的继承方式来控制。
(2).定义同名成员屏蔽基类成员。
添加派生类新成员
根据需要,在派生类中添加新成员,保证派生类在功能上有
您可能关注的文档
- 006吴玉行《爱莲说》.doc
- 6月18日宁朗阁雅思考题阅读回顾.pdf
- 7-1 RS存器 chenyu.ppt
- 7 国际贷款算.doc
- 6脚RGB系规格书.pdf
- 7 利润的核、分配与财务报表编制.pdf
- 6月17日英短文改错解题技巧.ppt
- 7.色彩的情.doc
- 7.我不是最小的 预习篇.ppt
- 7A Uni7 Period3(ReadingⅡ).doc
- DGTJ08-2024-2007 用户高压电气装置规范.docx
- DGTJ08-1101-2022 城市轨道交通自动售检票系统通用技术标准.docx
- DGTJ08-2025-2020 建筑工程施工现场视频监控系统应用技术标准.docx
- DGTJ08-2096-2022 生态公益林养护标准.docx
- DGTJ08-2024-2016 用户高压电气装置规范.docx
- DB5201_T 161-2025 生活垃圾分类设施设备设置规范.pdf
- DGTJ08-2001-2006 基坑工程施工监测规程.docx
- DGTJ08-2033-2008 道路隧道设计规范.docx
- DGTJ08-1104-2005 公共建筑电磁兼容设计规范.docx
- DGTJ08-2014-2018 液化天然气应急储备调峰站设计标准.docx
最近下载
- DB63∕T 2387-2024 公路路基涎流冰防治技术指南.pdf
- 2025人教版英语四年级上册Unit 1 Helping at home单元测试试卷.pdf VIP
- 等比数列知识点总结与典型例题+答案.docx VIP
- 1、2024广西专业技术人员继续教育公需科目参考答案(98分).pdf VIP
- 配电运维题库题库(392道).docx VIP
- 中华优秀传统文化融入初中英语教学的路径探索.docx VIP
- 2025年生产安全应急演练方案(精选5篇).pdf VIP
- 2025安徽合肥高新区管委会直属国有企业公开招聘31人笔试历年参考题库附带答案详解.docx
- SY∕T 5329-2022 碎屑岩油藏注水水质指标技术要求及分析方法.pdf
- 电线、电缆载流量对照表.pdf VIP
文档评论(0)