Я бы хотел, чтобы статическая переменная-член отслеживала количество созданных объектов.Вот так:
class test{
static int count = 0;
public:
test(){
count++;
}
}
Это не работает, потому что, согласно VC ++, a member with an in-class initializer must be constant
.Итак, я оглянулся и, видимо, вы должны сделать:
test::count = 0;
Это было бы здорово, но я хочу, чтобы count был приватным.
edit: Ohмальчик, я только что понял, что мне нужно сделать:
int test::count = 0;
Я видел, что что-то просто делает test::count = 0
, поэтому я предположил, что вам не придется снова объявлять type.
I 'Хотелось бы узнать, есть ли способ сделать это внутри класса.
edit2:
Что я использую:
class test{
private:
static int count;
public:
int getCount(){
return count;
}
test(){
count++;
}
}
int test::count=0;
Теперь он говорит: 'test' followed by 'int' is illegal (did you forget a ';'?)
edit3:
Да, забыл точку с запятой после определения класса.Я не привык делать это.