View Full Version : [c++/OOP] Due classi che si dovrebbero conoscere a vicenda!!
stdecden
05-04-2007, 13:19
:mc: É giá da tempo che cerco una soluzione a questo enigma...
Vorrei creare una classe, chiamata root che contiene tutte le altre classi del programma. Inoltre ogni sottoclasse dovrebbe avere un puntatore alla classe root per poter di conseguenza accedere a tutte le altre sottoclassi.
Ho provato con una dichiarazione anticipata della classe root, ma mi dá errore!!!
tomminno
05-04-2007, 15:05
:mc: É giá da tempo che cerco una soluzione a questo enigma...
Vorrei creare una classe, chiamata root che contiene tutte le altre classi del programma. Inoltre ogni sottoclasse dovrebbe avere un puntatore alla classe root per poter di conseguenza accedere a tutte le altre sottoclassi.
Ho provato con una dichiarazione anticipata della classe root, ma mi dá errore!!!
Direi che non è per niente un buona tecnica OOP.
Se una classe deve accedere ad altre classi forse è il caso che il chiamante passi un riferimento a queste classi.
La mia personalissima idea che mi sono fatto è che per far comunicare delle classi fra di loro l'unico metodo rispettoso della OOP sia la comunicazione tramite eventi, non si deve maneggiare direttamente un puntatore/riferimento alla classe chiamante, anche perchè questo obbliga il chiamante ad adattarsi alla struttura del chiamato
Da quello che scrivi mi sembra che vada rivista l'intera strutturazione del programma.
A cosa ti serve una struttura simile?
ma che vuol dire un puntatore alla classe root? :huh:
tomminno
05-04-2007, 15:25
ma che vuol dire un puntatore alla classe root? :huh:
Se non stai scherzando quello che intende fare è qualcosa di simile a questo:
Root::Root()
{
Leaf f(this);
...
}
vector<classes> & Root::GiveMeAllClasses()
{
...
}
Leaf::Leaf(Root * root)
{
vector<Classes> & classes = root->GiveMeAllClasses();
...
}
Se non stai scherzando quello che intende fare è qualcosa di simile a questo: non stavo scherzando, solo che in genere si parla di puntatori a oggetti :Prrr: non a classi
tomminno
05-04-2007, 17:22
non stavo scherzando, solo che in genere si parla di puntatori a oggetti :Prrr: non a classi
Effettivamente non avevo fatto caso al grassetto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.