Tenho duas que classes são interdependentes e simplesmente não parece possível fazer isso funcionar, pois se não declarei uma a outra não pode ser declarada e vice-versa
class UseTester {
public:
typedef int Integer;
void doubleInc() {
UseTester::Integer i;
Tester::count += 2;
}
};
class Tester {
public:
static UsingTest::Integer count;
static void inc() {
++count;
}
};
int Tester::count = 0;
esse é um exemplo simples, onde o membro de dados [color=blue]count[/color] [color=orange]depende[/color] do tipo definido na classe [color=red]UseTester[/color] e uso do membro count na função membro [color=blue]doubleInc[/color] [color=orange]depende[/color] da definição da classe [color=red]Tester[/color].
Uma solução que naturalmente pode resolver o problema é unir as classes, nesse contexto parece natural, mas caso tenho classes de contextos diferentes mas ainda sim interdependentes surge um problema, como se tiver uma classe Percistencia e uma classe Caixa onde Percistencia depende da definição de caixa para utilização e Caixa utiliza membros de dados estáticos de Percistencia.
Não posso resolver o problema com pré-definição e prototipação, pois quando se fala na utilização de membros de dados o compilador precisa da definição completa do membro de dados.
[size=24]Qual a melhor forma de resolver esse problema?[/size]