C ++中的继承,召回基础功能和功能不会改变价值

时间:2014-11-09 09:55:20

标签: c++ inheritance multiple-inheritance

在图书馆TOADO.h中

  #ifndef _TOADO_H 
  #define _TOADO_H

  class TOADO
  {
   public:
     TOADO();
     void SoDiem(int soluong);
     void addToaDo(POINT *toado);
     void setWidth(int width);
  public:
     int SoLuong;
     int Width;
     POINT* ToaDo;
 };
 #endif

在图书馆中。

   #include "TOADO.h"
   #ifndef _FIGURE_H
   #define _FIGURE_H

   class FIGURE:public TOADO
   {
   public :
     FIGURE();
     virtual void Draw(Graphics &graphics);
   };

  #endif

IN LINE.h

    #include "FIGURE.h"
    #ifndef _LINE_H
    #define _LINE_H

    class LINE:public FIGURE
    {
    public:
      LINE(const Color &clr,POINT* line );
      void Draw(Graphics &graphics);
    private:
      TOADO Line;
      Color color;
    }; 
    #endif

    int main()
    {
      LINE A(color, point); // char color , point is array point 
      A.setWidth(2);// function setWidth() in class TOADO
    }

为什么我记得基函数A.setWidth(2)但函数A.Width()仍然返回Width = 1,它不会改变Width = 2; 每个人都可以为我解释并指导我如何解决它。 谢谢。
对不起,我的英语非常糟糕,我无法形容每个人都能理解 问题是函数setWidth()。 这是我的代码 https://www.mediafire.com/?28dzv62x1kvxci2

0 个答案:

没有答案