使用其他类的类

时间:2014-12-23 23:15:45

标签: c++ qt class

我的班级有问题。

我有两个单独的标题。 Color.h和Painter.h:

1)。 Color.h

class Color{
       int number;
    public:
       void initialize();
       void change (Painter draw);
}

2)。 Painter.h

class Painter{
      Color a,b;
   public:
      void get();
      void draw();
}

我的问题是,我需要在Color类中使用Painter,而类Painter使用Color。在Qt中,我得到一个错误,画家不是一个类型。我怎样才能解决这个问题?该问题的解决方案是什么?

1 个答案:

答案 0 :(得分:3)

Painter.h中,您需要包含Color.h,因为您拥有Color类型的对象。 但是在color.h中,您可以为Painter类添加前向声明:

class Painter;
class Color{
   int number;
public:
   void initialize();
   void change (Painter draw); //a forward declaration is enough for this
}

方法void change (Painter draw);您将在color.cpp中定义它并在那里包含painter.h