オブジェクトをdouble値に変換したいと思います。 それは次のようになります - > ClassA clsA(1,2,3);
C++ operator =オブジェクトからdoubleへキャスト
double result = clsA;
私は私のヘッダファイルにそのようなSTHを書いた:
const double operator= (const ClassA&);
とのcppファイルに実装:
const double ClassA::operator= (const ClassA& a) {
/* here I made some math calculation on instance 'a' and the result is double value *\
return doubleValue;
}
しかし、それはしませんもしそれを作るのが良いのかどうかわかりません、演算子を使って別の例にオブジェクトを割り当てることもできます - > objA = objB、それでtogを議論できるかどうかわかりません上記の実装を持つether。
ありがとうございました!
'にClassA ::演算子=(定数クラスを使用します'&A 'は(クラス参照)' ClassA'を 'ClassA'に代入するために使用され、戻り値の型は' ClassA'でなければなりません。 'ClassA a、b; a = b; '。あなたが望むのは、変換演算子が倍精度であるため、 'ClassA'の中に' operator double()const; 'のようなものです。例えば、 http://en.cppreference.com/w/cpp/language/cast_operator – Holt
@Holtここにコメントを書くことができますか?私はそれを始める方法を知らない? – lory
@Holtと、これを '='の後にあるオブジェクトと 'double value = objAに代入する値を取ることを'指示する方法。 ? – lory