Statique de la variable pour le nombre d'objets dans des classes c++?

Je voudrais avoir une variable membre statique de garder une trace de la quantité des objets qui ont été faites. Comme:

class test{
    static int count = 0;
    public:
        test(){
            count++;

        }
}

Qui ne fonctionne pas parce que, en fonction de VC++, a member with an in-class initializer must be constant. J'ai donc regardé autour et apparemment, vous êtes censé faire:

test::count = 0;

Qui serait génial, mais je veux compter pour être privé.

edit:
Oh la la, je viens de réaliser que j'ai besoin de le faire:

int test::count = 0;

J'avais vu quelque chose de juste ne test::count = 0, donc, je suppose que vous n'aurez pas à déclarer de type nouveau.

Je voudrais savoir si il existe un moyen de le faire à l'intérieur de la classe.

edit2:

Ce que je suis en utilisant:

class test{
    private:
        static int count;
    public:
        int getCount(){
            return count;
        }
        test(){
            count++;

        }
}
int test::count=0;

Maintenant, c'est de dire: 'test' followed by 'int' is illegal (did you forget a ';'?)

edit3:

Yup, j'ai oublié un point-virgule après la définition de la classe. Je n'ai pas l'habitude d'avoir à le faire.

Vous avez oublié de résilier votre définition de classe avec un ;

OriginalL'auteur mowwwalker | 2011-10-15