Est-ce une bonne pratique, lors de l'écriture de code C++11, de définir des valeurs par défaut pour les membres d'une classe dans le fichier d'en-tête de cette classe ?
Ou est-il préférable de le faire dans le constructeur de la classe ?
EDIT :
Je veux dire :
foo.h :
#include <string>
using std::string;
class Foo{
private:
string greet = "hello";
public:
Foo();
};
VS
foo.cpp (bien sûr avec le fichier d'en-tête nécessaire, mais sans l'initialisation en classe) :
Foo::Foo(){
greet = "hello";
}
Laquelle est la meilleure et pourquoi ?