C++程序设计-lecture8

C++程序设计-lecture8

ID:45037365

大小:1.23 MB

页数:41页

时间:2019-11-08

C++程序设计-lecture8_第1页
C++程序设计-lecture8_第2页
C++程序设计-lecture8_第3页
C++程序设计-lecture8_第4页
C++程序设计-lecture8_第5页
资源描述:

《C++程序设计-lecture8》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、类的继承继承与派生问题举例类的继承继承与派生问题举例类的继承继承与派生的目的继承的目的:实现代码重用。派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。类的继承基类和派生类的概念在继承关系中,新定义的类称为被继承类的派生类或子类,而被继承的类称为新定义类的基类或父类。派生类继承了基类的所有成员。一个派生类也可以作为另一个派生类的基类。类的继承派生类的定义class<派生类名>:[<派生方式>]<基类名>{...//派生类新增加的成员声明列表};说明:派生方式决定

2、了基类的成员在派生类中的访问权限。派生方式共有三种:public、private和protected(缺省值为private)。虽然派生类继承了基类的所有成员,但为了不破坏基类的封装性,无论采用哪种派生方式,基类的私有成员在派生类中都是不可见的,即不允许在派生类的成员函数中访问基类的私有成员。类的继承classCPerson{private:charm_name[12];charm_ID[18];intm_age;public://……};classCStudent:publicCPerson{pri

3、vate:charm_student[22];//学校charm_number[18];//学号//……};类的继承类的访问权限控制回顾public属性:表示数据成员和成员函数是类的公有成员,它们允许被本类的成员函数访问或调用,也允许通过对象访问或调用,是类的外部接口。protected属性:表示数据成员和成员函数是类的保护成员,它们允许被本类的成员函数和派生类的成员函数访问或调用。private属性:表示数据成员和成员函数是类的私有成员,它们只允许被本类的成员函数访问或调用。类的继承三种派生方式的区

4、别采用public派生,基类成员的访问权限在派生类中保持不变,即基类所有的公有或保护成员在派生类中仍为公有或保护成员。public派生最常用。可以在派生类的成员函数中访问基类的非私有成员;可通过派生类的对象直接访问基类的公有成员。采用protected保护派生,基类所有的公有和保护成员在派生类中都成为保护成员,只允许在派生类的成员函数和该派生类的派生类的成员函数中访问基类的非私有成员。采用private私有派生,基类所有的公有和保护成员在派生类中都成为私有成员,只允许在派生类的成员函数中访问基类的非私

5、有成员。private派生很少使用。类的继承例定义类Point,然后定义类Point的派生类Circle。#includeclassPoint//定义基类,表示点{private:intx;inty;public:voidsetPoint(inta,intb){x=a;y=b;};//设置坐标intgetX(){returnx;};//取得X坐标intgetY(){returny;};//取得Y坐标};类的继承classCircle:publicPoint//定义派生类,表示圆

6、{private:intradius;public:voidsetRadius(intr){radius=r;};//设置半径intgetRadius(){returnradius;};//取得半径intgetUpperLeftX(){returngetX()-radius;};//取得外接正方形左上角的X坐标intgetUpperLeftY(){returngetY()+radius;};//取得外接正方形左上角的Y坐标};类的继承main(){Circlec;c.setPoint(200,250)

7、;c.setRadius(100);cout<<"X="<

8、50类的继承几点说明派生类Circle通过public派生方式继承了基类Point的所有成员(除私有成员外所有成员的访问权限不变),同时还定义了自己的成员变量和成员函数。若将类Circle的派生方式改为private或protected,则下述语句是非法的:c.setPoint(200,250);无论哪种派生方式,派生类都继承了基类的所有成员,包括私有成员。我们虽然不能在派生类Circle中直接访问私有数据成员x和y,但可以通过继承的公有成员函数getX

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

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

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