私は最近このクラスに出くわし、getter と setter がどのように実装されているかに驚きました。
私はこれまでにこれに遭遇したことがなく、いくつかのセカンドオピニオンを歓迎します.
これは良いパラダイムだと思いますか?悪いですか?それは悪ですか?
ヘッダ:
class Tool
{
public:
Tool();
virtual ~Tool();
bool setName(const std::string &name);
bool getName(std::string &name) const;
void clearName();
private:
std::string m_name;
bool m_nameSet;
};
cpp ファイル:
#include "Tool.h"
Tool::Tool()
: m_name("")
, m_nameSet(false)
{
}
Tool::~Tool()
{
}
bool Tool::setName(const std::string &name)
{
m_name = name;
m_nameSet = true;
return (m_nameSet);
}
bool Tool::getName(std::string &name) const
{
bool success = false;
if (m_nameSet)
{
name = m_name;
success = true;
}
return (success);
}