下载此文档

第-12-章-继承与派生-c++课件.ppt


文档分类:IT计算机 | 页数:约50页 举报非法文档有奖
1/50
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/50 下载此文档
文档列表 文档介绍
继承与派生
类的继承与派生
派生类的构造、拷贝构造、析构函数
歧义
优先规则
赋值兼容规则
虚基类
虚函数




类的继承与派生
二维空间点类
class Point2
{
protected:
int X, Y;
public:
Point2(int xx=0, int yy=0)
{X=xx; Y=yy;}
void SetX(int newx)
{X=newx;}
void SetY(int newy)
{Y=newy;}
int GetX( ) {return X;}
int GetY( ) {return Y;}
};
三维空间点类
class Point3
{
protected:
int X, Y, Z;
public:
Point3(int xx=0, int yy=0, int zz=0)
{X=xx; Y=yy; Z=zz;}
void SetX(int newx){X=newx;}
void SetY(int newy){Y=newy;}
void SetZ(int newz){Z=newz;}
int GetX( ) {return X;}
int GetY( ) {return Y;}
int GetZ( ) {return Z;}
};
三维空间点类
class Point3:public Point2
{
int Z;
public:
Point3(int xx, int yy, int zz)
:Point2(xx, yy){Z=zz;}
void SetZ(int newz){Z=newz;}
int GetZ( ) {return Z;}
};
保持已有类的特性而
构造新类的过程称为
继承。
目的:实现代码重用。
在已有类的基础上新
增自己的特性而产生
新类的过程称为派生。
目的:当新的问题出
现,原有程序无法解
决(或不能完全解决)
时,需要对原有程序
进行改造。
基类
父类
派生类
类的继承与派生
派生类的定义
class 派生类名:继承方式 基类名1, …, 继承方式 基类名n
{
派生类成员声明;
};
已声明的类
已声明的类
多层次继承:
新类可作为基类再派生出更新的类;
一个基类可同时派生出多个派生类。
这样形成了一个相互关联的类族。
直接基类:直接参与派生出某类的基类。
间接基类:基类的基类,以及更深层的基类。
子类
父类
单继承
多重继承
多重派生
规定了基类成员在派
生类中的访问属性。
新增加的成员,是不同于
基类的新属性和功能,是
关键所在。也包括取代基
类成员的更新成员。
雇员
兼职
人员
管理
人员
销售
人员
销售经理
吸收基类的成员
改造基类成员
发展新成员
重写构造函数
与析构函数
不论是数据成员,还是函数成员,
除构造函数与析构函数外全盘接收。
声明一个和某基类成员同名的新成员,
派生类中的新成员就屏蔽了基类同名
成员,称为同名覆盖。
注意:新成员若是成员函数,则参数
表也必须一样,否则是重载。
派生类新成员必须与基类成员不同名,
它的加入保证派生类在功能上有所发展。
派生类生成过程
派生类不继承这两种函数。
访问控制(继承方式)
从基类继承的成员的访问属性可以调整,由继承方式控制。
访问体现在
两个方面
继承方式
派生类新增成员对继承的基类成员的访问;
公有继承(public)
私有继承(private)
保护继承(protected)
派生类外部(非类族内的成员)通过派生类的
对象对继承的基类成员的访问。
1. 公有继承(public)
基类 public 和 protected 成员的访问属性在派生类中不变。
派生类的成员函数可直接访问基类的 public 和 protected
成员;
通过派生类的对象只能访问基类的 public 成员。
基类的 private 成员不可直接访问。
派生类的成员函数不可直接访问基类的 private 成员;
通过派生类的对象不可直接访问基类的 private 成员。
例:Point 类公有继承
class Point //基类Point类的声明
{
float X, Y;
public:
void InitP(float xx=0, float yy=0)
{ X=xx; Y=yy

第-12-章-继承与派生-c++课件 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数50
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小725 KB
  • 时间2020-11-23