おそらくクラスへのフレンド関数として、単項「否定」、「符号反転」、または「減算」演算子の実装を検討しています。
これを行う正しい方法についての私の推測は次のとおりです。
namespace LOTS_OF_MONNIES_OH_YEAH { // sorry, couldn’t resist using this namespace name
class cents
{
public:
cents(const int _init_cents)
: m_cents(_init_cents)
{
}
public:
friend inline cents operator-(const cents& _cents);
private:
int m_cents;
};
inline cents operator-(const cents& _cents)
{
return cents(-(_cents.m_cents));
}
}
私の推測は正しいですか?
PS: 大文字は定数のみに使用されることが多いため、理想的には名前空間名は小文字にする必要がありますが、大文字の方がより影響力があると思いました。
PPS:ここから例をリッピング