Recibí un error de calificación de la variable miembro 'objectCount'. El compilador también devuelve 'ISO C++ prohíbe la inicialización en clase del miembro estático no const'. Esta es la clase principal:Inicialización en C++ de variable de miembro estático no constante?
#include <iostream>
#include "Tree.h"
using namespace std;
int main()
{
Tree oak;
Tree elm;
Tree pine;
cout << "**********\noak: " << oak.getObjectCount()<< endl;
cout << "**********\nelm: " << elm.getObjectCount()<< endl;
cout << "**********\npine: " << pine.getObjectCount()<< endl;
}
Esta es la clase de árbol que contiene el objectCount estática no constante:
#ifndef TREE_H_INCLUDED
#define TREE_H_INCLUDED
class Tree
{
private:
static int objectCount;
public:
Tree()
{
objectCount++;
}
int getObjectCount() const
{
return objectCount;
}
int Tree::objectCount = 0;
}
#endif // TREE_H_INCLUDED
No hay otra alternativa que no fue mencionado en ninguna de las respuestas sugeridas en al momento de escribir esto, lo que le permite ** mantener ** todo en un ** encabezado simple **. Vea el ejemplo en [esta respuesta SO] (http://stackoverflow.com/a/33618854/3041008), se adapta perfectamente a su ejemplo. – mucaho