Dire che ho un foo classe con un oggetto di bar classe come un membroQual è il modo migliore per gestire le classi co-dipendenti in C++?
class foo
{
bar m_bar;
};
bar Supponiamo ora che ha bisogno di tenere traccia del foo che lo possiede
class bar
{
foo * m_pfoo;
}
Le due classi di riferimento tra loro e senza una dichiarazione anticipata, non verrà compilato. Così l'aggiunta di questa riga prima della dichiarazione di foo risolve questo problema
class bar;
Ora, qui è il problema - quando si scrivono i file header, ogni intestazione dipende dall'altro: foo.h ha bisogno di definizioni di cui bar.h e vice versa. Qual è il modo corretto di affrontare questo?
Questa sembra l'opzione migliore per ciò di cui ho bisogno. –
ora come funziona questa soluzione se le tue classi codipendenti sono basate su modelli e quindi non possono essere separate in file header e cpp? –