Est-il possible d'utiliser la liste d'initialisation du constructeur d'une classe enfant pour initialiser les membres de données déclarés comme protégés dans la classe parentale ? Je n'y parviens pas. Je peux le contourner, mais ce serait bien si je n'avais pas à le faire.
Quelques exemples de code :
class Parent
{
protected:
std::string something;
};
class Child : public Parent
{
private:
Child() : something("Hello, World!")
{
}
};
Lorsque j'essaie de le faire, le compilateur me dit : "class 'Child' does not have any field named 'something'" (la classe 'Child' n'a pas de champ nommé 'quelque chose'). Est-il possible de faire quelque chose comme cela ? Si oui, quelle est la syntaxe ?
Merci beaucoup !