|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
[c++/OOP] Due classi che si dovrebbero conoscere a vicenda!!
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!!! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
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? |
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ma che vuol dire un puntatore alla classe root?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Se non stai scherzando quello che intende fare è qualcosa di simile a questo:
Codice:
Root::Root()
{
Leaf f(this);
...
}
vector<classes> & Root::GiveMeAllClasses()
{
...
}
Leaf::Leaf(Root * root)
{
vector<Classes> & classes = root->GiveMeAllClasses();
...
}
|
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:40.












non a classi








