类和类之间不是毫无关系的,它们可以通过关键字形成多种关系,如继承,友元,组合等。今天我们着重讲解继承关系。
一、类和类的关系
【1. 组合:】
表示为:a part of ;has_a。如一个类在另一个类中做成员变量,是它的一部分,链表类和结点类。
【2. 继承】
表示为:a kind of;is_a
私有继承模拟实现了一种has_a组合的关系。因为私有继承在派生类中全是私有的,无法在类外访问。
【3. 代理】
代理关系:限制被代理类的接口,提供新特性,有一个包装的过程。如stack 类底层调用Vector的push_back方法,提供新特性:入栈。
二、继承基本概念
【1. 继承的本质】
继承的本质是代码复用,即代码重复利用
【2. 继承的表示】
一个类继承另一个类的表示:
类标识 【继承列表符号:】继承方式 类名
如:class Derive:public Base
这两个类的关系表示为:
我们写一个父类Base,派生出Derive子类,代码如下:
# include<iostream>
class Base
{
public:
Base(int data