码迷,mamicode.com
首页 > 编程语言 > 详细

类与类之间的两种关系------新标准c++程序设计

时间:2017-11-11 21:25:57      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:poi   必须   程序   double   派生类   blog   ++   radius   pre   

  在c++中,类和类之间有两种基本关系:复合关系和继承关系。

  复合关系也称为“has a”关系或“有”的关系,表现为封闭类,即一个类以另一个类的对象作为成员变量。

  继承关系也称为“is a”关系或“是”关系,即派生类对象也是一个基类对象。

  在设计两个有关系的类时要注意,并非两个类有共同点,就可以让它们成为继承关系。让类B继承类A,必须满足“类B所代表的事物也是类A所代表的事物”这个命题从逻辑上是成立的。例如:写一个平面上的点类point:

class CPoint{
    double x,y;
};

  又要写一个圆类CCircle。CCircle类有圆心,圆心也是平面上的一点,因而CCircle类和CPoint类似乎有共同的成员变量。如果因此就让CCircle类从CPoint类派生而来,即采用如下写法:

class CCircle:public Cpoint{
    double radius;
};

  是不正确的。因为,“圆也是点“这个命题是不成立的。正确的做法是使用”has a“关系,即在CCircle类中引入CPoint成员变量,代表圆心:

class CCircle{
    CPoint center;
    double radius;
};

  

新标准c++程序设计

类与类之间的两种关系------新标准c++程序设计

标签:poi   必须   程序   double   派生类   blog   ++   radius   pre   

原文地址:http://www.cnblogs.com/goudanli/p/7819929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!