在下面的代码中,我将值分配给另一个类函数中的 url。
我收到了代码审查评论“将 url 设为私有(private)并且
实现应该返回 std::string
的 getter 函数
通过引用传递的输出参数的值'
class http_client
{
public:
std::string url;
};
我对上面的评论感到困惑,因为我使用 url 只是为了在 http_client 类之外设置一个值。最初,我以为我必须 一种公共(public) 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;
}
要求您使用第二种方法实现它。
关于c++ - C++中如何用getter方法实现封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52178085/