什麼是首選的C++風格,使用get
和set
函數來獲取和設置成員變量的值,或者僅使該成員變量爲public?使用獲取函數與創建成員變量public
class MyClass
{
public:
std::string getValue();
std::string setValue();
private:
std::string value;
};
與
class MyClass
{
public:
std::string value;
};
第二個看起來更乾淨,我實在看不出任何優勢,第一個,除了讓你更多的錢,如果你被代碼行支付。
第一個不允許修改。 – chris
第一種方法的優點是它不暴露對象的(可變)實現和私有狀態。 –
嗯,如果我想進行更改,我還可以包含'std :: string setValue();'函數。我應該澄清一點。 – Lighthat