Hallo
ich habe eine Klasse in der Datei
parent.h
1 | class Parent
|
2 | {
|
3 | public:
|
4 | Parent();
|
5 | void askChild();
|
6 | void doSomething();
|
7 | ...
|
8 | ...
|
9 | private:
|
10 | Child* child;
|
11 | };
|
12 | ...
|
13 | ...
|
parent.cpp
1 | ...
|
2 | ...
|
3 | void Parent::askChild()
|
4 | {
|
5 | child->getAnswer();
|
6 | }
|
und eine andere Klasse in der Datei child.cpp
child.h
1 | class Child
|
2 | {
|
3 | public:
|
4 | Child();
|
5 | void tellParent();
|
6 | void getAnswer();
|
7 | ...
|
8 | ...
|
9 | private:
|
10 | Parent* parent;
|
11 | };
|
12 | ...
|
13 | ...
|
child.cpp
1 | ...
|
2 | ...
|
3 | void Child::tellParent()
|
4 | {
|
5 | parent->doSomething();
|
6 | }
|
Der Sinn ist, dass jede Parent Klasse eine child Klase beinhalet und
dort getAnswer() aufrufen kann.
Manchmal macht Child aber auch Sachen die es Parent mitteilen will und
macht dieses über tellParent()
Wie kann ich das Include Problem denn hier Lösen? Denn auch wenn ich
eine forward declaration machen
vor der Definition von Parent
und vor der Definition von Child
einfügen sind zwar die Klassen bekannt, aber ja nicht die Methoden der
Klassen?