- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
009继承与派生
继承与派生
类的继承是指新的类从已有的类获得已有的特性。它较好地解决了代码重用问题。
已有的类叫基类或父类,产生的新类叫派生类或子类。
继承派生是两个相对的概念,继承是从子类的角度讲,而派生是从父类的角度讲。
一个子类只有一个直接父类,叫单继承。
一个子类同时有多个父类,叫多继承。
单继承派生类的声明
格式:
class 派生类名: 继承方式 基类名
{
派生类新增的数据成员和函数成员;
};
其中继承方式有:private私有继承, protected受保护继承, public公有继承
二、基类成员在派生类中的访问属性
基类中的属性 继承方式 派生类中的属性 Private Private 不可直接访问 Private public 不可直接访问 Private Protected 不可直接访问 public Private Private public public public public Protected Protected Protected Private Private Protected public Protected Protected Protected Protected 三、派生类对基类成员的访问规则
1.内部访问:由派生类中新增成员对基类继承来的成员的访问。
2.对象访问:在派生类的外部,通过派生类的对象对从基类继承来的成员进行访问。
四、访问实例
#include iostream.h
class base
{
private:
int a;
protected:
int b;
public:
void inab(int x,int y)
{a=x;b=y;}
void outab()
{couta=a,b=bendl;}
};
class sub:private base
{
private:
int c;
public:
//void inab(int x,int y,int z)子类的方法与基类重名,子类方法覆盖基类方法
void inabc(int x,int y,int z)
{//a=x;b=y;c=z;
//base::inab(x,y);
inab(x,y);
c=z;}
//void outab()
void outabc()
{//couta=a,b=b,c=cendl;
// base::outab();
outab();
coutc=cendl;
}
};
main()
{
sub s;
s.inabc(1,2,3);
s.outabc();
}
1.私有继承的访问:
例:
#include “iostream.h”
class base
{
public:
void setx(int n)
{x=n;}
void showx()
{coutxendl;}
private:
int x;
};
class sub:private base
{
public:
void setxy(int n,int m)
{
setx(n); //合法
y=m;
}
void showxy()
{
coutx; //非法
coutyendl;
}
private:
int y;
};
main()
{
sub obj;
obj.setx(10); //非法
obj.showx(); //非法
obj.setxy(20,30);
obj.showxy();
}
例:书桌价格计算:假设所有书桌计费都有的属性是订单号书桌长度和宽度、抽屉,书桌计费方式最低成本200元,长宽超过1.8平米则增加50元,每个抽屉增加10元;如果是桃木,增加50元,橡木,增加125元。
#include “iostream.h”
class desk
{
public:
desk(){}
desk(int n,int loc,float len,float w);
void init(int n,int loc,float len,float w);
float caculate();
void show();
private:
int number,locker;
float length,width,cost;
};
desk::desk(int n,int loc,flo
您可能关注的文档
最近下载
- 关于推进全过程工程咨询服务发展的指导意见.docx VIP
- 以德立身、以德立学、以德施教、以德育德——师德师风警示教育课件.pptx VIP
- 专业工作监理实施细则(水利工程).docx
- Agilent8860气相色谱仪操作手册.pdf VIP
- 2025年价格鉴证师考试题库(附答案和详细解析)(0828).docx VIP
- 2025年价格鉴证师考试题库(附答案和详细解析)(0901).docx VIP
- 2024年深圳市金融稳定发展研究院信息技术部系统运维人员公开招聘2人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2025年价格鉴证师考试题库(附答案和详细解析)(0815).docx VIP
- 三年级数学上册应用题200道(打印版).docx VIP
- TCCIAT0024-2020全过程工程咨询服务管理标准.docx VIP
原创力文档


文档评论(0)