[英]How to achieve encapsulation in C++ with getter method
在下面的代碼中,我將值從另一個類函數分配給url。 我收到了代碼審查評論'將url設為私有並實現getter函數,該函數應該通過引用傳遞的輸出參數返回std::string
值'
class http_client
{
public:
std::string url;
};
我對上面的注釋感到困惑,因為我只使用url來設置http_client類之外的值。 最初,我認為我必須制作一個公共的setter方法,它將值設置為url,如下所示。
class http_client
{
private:
std::string url;
public:
void set_url(const std::string& url)
{
this->url = url;
}
};
以上代碼審查評論可以有人建議我缺少什么嗎?
getter函數是setter的對應函數。 使用setter,客戶端代碼可以設置值。 使用getter,客戶端代碼需要能夠獲取值。
我可以想到幾種方法來做到這一點。
std::string const& get_url() const
{
return this->url;
}
void get_url(std::string& url) const
{
url = this->url;
}
您被要求使用第二種方法實現它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.