Iデータとフォーマットされた文字列を返す2つの変数xとyとの単純なクラス、関数toString()を持っていた場合。私はC++フォーマット<<自動的
を呼び出すときcout << simpleClass << "\n";
誰も私が自動的に正しくフォーマットされた文字列を返すために呼び出さsimpleClass.ToStringことができた方法を知っていますか?私は演算子の関数でこれを行う方法があると思っていますが、私はこれをどうやってやるのか分かりません。
Iデータとフォーマットされた文字列を返す2つの変数xとyとの単純なクラス、関数toString()を持っていた場合。私はC++フォーマット<<自動的
を呼び出すときcout << simpleClass << "\n";
誰も私が自動的に正しくフォーマットされた文字列を返すために呼び出さsimpleClass.ToStringことができた方法を知っていますか?私は演算子の関数でこれを行う方法があると思っていますが、私はこれをどうやってやるのか分かりません。
あなたは、このような演算子を定義する方法を求めている場合は、
template<class CharT, class TraitsT>
std::basic_ostream<CharT, TraitsT>&
operator <<(std::basic_ostream<CharT, TraitsT>& os, SimpleClass const& sc)
{
return os << sc.ToString();
}
あなたはostream&
を渡し、ToString()
を呼び出し、ostream&
を返すために
std::ostream& operator <<(std::ostream&, const SimpleClass&)
を定義します。
1:あまりにも多くの人々が広いストリームを忘れる:私はあなたがすべての 'basic_ostream'オブジェクトだけではなく、' cout' –
@Kenで動作する機能を実装する方法が好きです。 ; - [ – ildjarn
+1とクッキー –