c++类间关系,简化理解

1.继承关系:is a
类A被类B共有继承,B的声明形式:
class B:public A{…}

2.组合关系:has a 如小鸟和翅膀的关系
类A是类B的一部分,实现形式为:
class A{…};
class B{… private: A a;…};
销毁B时,会先销毁A,A只能属于B

3.聚合关系:弱所属关系 如大雁和雁群的关系,大雁可以属于不同的雁群
类B由类A聚合,实现形式:
class A{};
class B{… public: A a[10];…};

4.关联关系:一种关系,不是所属,而是平等,如大雁和老鹰
若类A与类B双向关联,代码实现为:
class A{… class Bb; …};
class B{… class A
a; …};

5.依赖关系:一个类受另一个类的影响
类B依赖类A的代码实现:
class A{};
class B{… public: void fun(A a);…};

class A{};
class B{… public: void fun(A* a);…};

class A{};
class B{… public: void fun(A& a);…};

6.实现关系:通过纯虚函数作为接口;类似与继承关系,只不过该继承关系中基类为抽象类
如基类中有一个操作:画一个图形,却未给出具体实现,而在其子类中才被实现,不同子类实现方法不一,可能是画一个三角形,又可能是画一个长方形
类B实现类A,代码实现:
class A{public: virtual void fun()=0;};//此处用的是纯虚函数
class B:public A{… void fun(){} …};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值