- 3
- 0
- 约7.89千字
- 约 8页
- 2021-11-15 发布于福建
- 举报
对继承的讨论
1. 继承的形式和继承的原理
class 派生类名: 继承方式 基类名
{
成员声明;
} ;
上面是继承的形式。当继承发生后,可以认为派生类拥有了基类的成员。
例:
class A
{
public:
int i;
void show(){coutiendl;}
};
class B: public A
{
public:
int m;
void print(){coutmendliendl;}
};
void main()
{
B b;
b.m; b.i; b.show(); b.print();
}
这个例子就是继承的写法。其中类 A 是类 B 的父类,类 B 是类 A 的子类。可以
认为类 B 拥有了类 A 的所有,也就是 B 中拥有了来自 A 的 i 和 void show()函数。
b.m; b.i; b.show(); b.print(); 都是对的。 因为 b 是 B 类型的对象, 所以 b
拥有了 A 和 B 的所有成员。
2. 关于 继承方式(上面的红字部分)
继承方式 有三种,分别是 public,private,protected。
我们认为 private 为最严格的限制级别,认为 protected 为中等的限制级别,认
为 public 为宽松的限制。
当继承发生时,我们可以 认为 父类的成员(无论成员函数还是数据成员)会迁
移一份到子类。 父类的成员也拥有访问的级别 ,这些级别也是由 public,private,
protected 来说明的。如果继承,则父类中的成员迁移至子类。父类成员迁移至
子类成员时,访问级别以父类和继承方式中更严的为准。
派生类对基类成员的使用,与继承访问控制和基类中成员性质有关
公有继承 基类的公有成员 派生类的公有成员
基类的保护成员 派生类的保护成员
私有继承 基类的公有成员和保护成员 派生类的私有成员
1
保护继承 基类的公有成员和保护成员 派生类的保护成员
公有继承
class A
{
private:
int m;
void print_private(){cout ”private”endl;}
protected:
int n;
void print_ protected (){cout ” protected”endl;}
public:
int q;
void print_ public (){cout ”public endl;}”
};
class B: public A
{
public:
int i;
void function(){ ……………………… }
};
void main()
{
B b;
}
此时,类 B 拥有了类 A 的所有成员。并且这些成员在 A 中是什么形式,迁移到
B 中还是什么形式。也就是继承完之后 B 看上去就是如下的样子:
class B
{
private:
int m;
void print_private(){cout ”private”endl;}
protected:
int n;
void print_ protected (){cout ” protected”endl;}
public:
int q;
void print_ public (){cout ”public endl;}”
public:
您可能关注的文档
最近下载
- 2023年辽宁何氏医学院临床医学《药理学》科目期末试卷B(有答案).docx VIP
- 山西省阳泉市2025-2026学年第一学期期中检测八年级英语试卷含答案.pdf
- 【西门子】A02_828D铣削编程简明教程_07-铣削循环.pdf VIP
- 2023年辽宁何氏医学院中西医临床医学《药理学》科目期末试卷A(有答案).docx VIP
- 医务人员常见心理健康问题与自我调节专家讲座.pptx VIP
- 临时用地不可避让耕地和永久基本农田的论证报告.docx
- 2025年房地产经纪人交易文件云存储与管理工具专题试卷及解析.pdf VIP
- 《金融市场与金融机构基础课后答案》.pdf VIP
- 2026年江苏旅游职业学院单招职业适应性考试模拟测试卷最新.docx VIP
- 2025年互联网营销师CRM系统GDPR与国内法规适配专题试卷及解析.pdf VIP
原创力文档

文档评论(0)