关于继承的一些解释和例子定义.pdfVIP

  • 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:

文档评论(0)

1亿VIP精品文档

相关文档