Alex_K
28-07-2004, 09:04
ich gebe am besten gleich ein beispiel:
class a
{
static B *var;
public:
//irgendwelche funktionen
};
also ich habe eine klasse A, welche eine statische variable vom typ B hat. ich will das alle instanzen von A mit dem gleichem objekt vom typ B arbeiten.
wenn ich davon ausgehen könnte das *var == 0, dann wäre es einfach möglich im konstruktor das objekt B nur zu erzeugen wenn *var == 0.
aber laut stroustrup darf ich nicht einfach static B *var = 0; schreiben, so eine initialisierung ist nur erlaubt wenn die variable auch const ist.
die möglichkeit die mir einfällt wäre eine statische init funktion zu schreiben, die vor dem verwenden dieser klasse aufgerufen werden muss, doch ich finde das ist keine wirklich schöne lösung.
hat jemand eine idee wie man das besser lösen könnte?
class a
{
static B *var;
public:
//irgendwelche funktionen
};
also ich habe eine klasse A, welche eine statische variable vom typ B hat. ich will das alle instanzen von A mit dem gleichem objekt vom typ B arbeiten.
wenn ich davon ausgehen könnte das *var == 0, dann wäre es einfach möglich im konstruktor das objekt B nur zu erzeugen wenn *var == 0.
aber laut stroustrup darf ich nicht einfach static B *var = 0; schreiben, so eine initialisierung ist nur erlaubt wenn die variable auch const ist.
die möglichkeit die mir einfällt wäre eine statische init funktion zu schreiben, die vor dem verwenden dieser klasse aufgerufen werden muss, doch ich finde das ist keine wirklich schöne lösung.
hat jemand eine idee wie man das besser lösen könnte?