Qt , problem z połączeniem klas
Witam, mam 2 klasy :
1) Link :
class Link : public QGraphicsLineItem
{
public:
Link(Node *fromNode, Node *toNode);
~Link();
Node *fromNode() const;
Node *toNode() const;
void setColor(const QColor &color);
QColor color() const;
void trackNodes();
private:
Node *myFromNode;
Node *myToNode;
};
2) Node:
class Node : public QGraphicsItem
{
Q_DECLARE_TR_FUNCTIONS(Node)
public:
Node();
void setText(const QString &text);
QString text() const;
void setTextColor(const QColor &color);
QColor textColor() const;
void setOutlineColor(const QColor &color);
QColor outlineColor() const;
void setBackgroundColor(const QColor &color);
QColor backgroundColor() const;
void addLink(Link *link);
void removeLink(Link *link);
QRectF boundingRect() const;
QPainterPath shape() const;
void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget);
protected:
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
QVariant itemChange(GraphicsItemChange change,
const QVariant &value);
private:
QRectF outlineRect() const;
int roundness(double size) const;
QSet<Link *> myLinks;
QString myText;
QColor myTextColor;
QColor myBackgroundColor;
QColor myOutlineColor;
};
Jak widać powyżej , w klasie Link znajdują się obiekty typu Node( przynajmniej jako argumenty funkcji ) i odwrotnie , w klasie Node są obiekty typu Link. Oczywiscie mam problem z kompilacją , generalnie kompilator nie rozpoznaje obiektu Node w klasie Link, nie ważne czy mam te 2 klasy w 1 pliku , czy też w osobnych i robie include`y. Przykład tych klas jest z książki o Qt , wiec prawdopodobnie to ja cos zepsułem , albo czegos nie rozumiem , proszę napiszcie co o tym myslicie