如何使用吸气剂方法实现C++封装



在下面的代码中,我将值分配给另一个类函数的url。 我收到了代码审查评论,"将网址设为私有和 实现应该返回std::string的 getter 函数 通过引用传递的输出参数的值'

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 的对应函数。使用资源库,客户端代码能够设置值。使用 getter,客户端代码需要能够获取值。

我可以想到几种方法。

std::string const& get_url() const
{
return this->url;
}
void get_url(std::string& url) const
{
url = this->url;
}

系统会要求您使用第二种方法实现它。

最新更新