Prática recomendada de valores de membro padrão

É uma boa prática ao escrever código C ++ 11 para definir valores padrão para membros da classe no arquivo de cabeçalho da classe?

Ou é melhor fazer isso no construtor da classe?

EDITAR:

Quero dizer:

foo.h:

#include <string>

using std::string;

class Foo{
    private:
        string greet = "hello";
    public:
        Foo();
};

VS

foo.cpp (claro, com o arquivo de cabeçalho necessário, mas sem a inicialização em classe):

Foo::Foo(){
    greet = "hello";
}

Qual deles é melhor e por quê?

questionAnswers(3)

yourAnswerToTheQuestion