alvido_bahor
2016-01-08 13:43
采纳率: 57.1%
浏览 1.6k

c++ 面向对象,概念问题

类之间的 containsA 和 isA 关系分别指什么呀,说是后者以公有继承实现,那么前者怎么实现

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2016-01-08 15:04
    已采纳
     举例:
    class Body
    {
    };
    class Head
    {
    };
    class Person
    {
      public:
        Body body;
        Head head;
    };
    class ChinesePerson
    {
    };
    
    body、head和Person的关系是Person contains head and body.
    ChinesePerson和Person的关系是Chinese person is a person.
    
    已采纳该答案
    打赏 评论
  • 登天蚂蚁 2016-01-08 14:16

    前者包含A的对象,后者继承自A,因为是A的派生类,所以用于参数、数组和返回值时可以作为A的引用对象

    打赏 评论
  • 毕小宝 2016-01-08 14:25

    类之间isA是用于继承,而containsA是组合,是一个类中包含了其他类。isA以公有继承实现,containsA以组合实现的。
    例如:猫是一种动物 isA ,飞机场有飞机containsA 。

    打赏 评论

相关推荐 更多相似问题