Ik ben (voor het eerst) een crossplatform GUI in C++ aan het programmeren voor een audioprogramma, en ik stuitte op het volgende probleem.
Ik heb een hoofdclass waarin al het grafische werk wordt verricht. Deze hoofdclass heeft verwijzingen naar widgets die getekend moeten worden. Deze widgets hebben zelf ook een verwijzing naar de hoofdclass, zodat ze kunnen tekenen.
Nou gaat hier natuurlijk iets fout. De Widget-class heeft de Core-class nodig, maar in deze Core-class is ook de Widget-class gedefinieerd. Recursiviteit en wanhoop alom in de compiler. Hoe zou ik dit dan het best kunnen oplossen?
edit: tnx Korakal
De foutmeldingen die ik van gcc trouwens krijg zijn normale parse errors en missende matches voor de constructors.
Ik heb een hoofdclass waarin al het grafische werk wordt verricht. Deze hoofdclass heeft verwijzingen naar widgets die getekend moeten worden. Deze widgets hebben zelf ook een verwijzing naar de hoofdclass, zodat ze kunnen tekenen.
code:
1
2
3
4
5
6
7
8
| #include "widget.h"
class Core {
...
private:
Widget **_widgets;
...
} |
code:
1
2
3
4
5
6
7
8
| #include "core.h"
class Widget {
...
private:
Core *_core;
...
} |
code:
1
2
3
| Widget::Widget(Core *core) : _core(core)
{
} |
Nou gaat hier natuurlijk iets fout. De Widget-class heeft de Core-class nodig, maar in deze Core-class is ook de Widget-class gedefinieerd. Recursiviteit en wanhoop alom in de compiler. Hoe zou ik dit dan het best kunnen oplossen?
edit: tnx Korakal
De foutmeldingen die ik van gcc trouwens krijg zijn normale parse errors en missende matches voor de constructors.
[ Voor 10% gewijzigd door JeRa op 03-07-2004 15:29 ]