Quel est le style C++ préféré, en utilisant une fonction get
et set
pour obtenir et définir la valeur d'une variable membre, ou simplement rendre publique la variable membre?Utilisation d'une fonction get pour rendre une variable membre publique
class MyClass
{
public:
std::string getValue();
std::string setValue();
private:
std::string value;
};
contre
class MyClass
{
public:
std::string value;
};
Le second semble plus propre et je ne vois pas vraiment un avantage au premier, autre que vous obtenir un peu plus d'argent si vous êtes payé par des lignes de code .
Le premier ne permet pas de modifications. – chris
L'avantage de la première approche est qu'elle n'expose pas l'implémentation (mutable) et l'état privé de l'objet. –
Eh bien, je pourrais aussi inclure une fonction 'std :: string setValue();' si je veux faire des changements. J'aurais dû clarifier cela. – Lighthat