実行できる方法で = 演算子をオーバーロードするにはどうすればよいですか
int someInt;
MyClass instanceOfMyClass;
someInt = instanceOfMyClass;
MyClass には number という名前の整数が含まれていますか?
実行できる方法で = 演算子をオーバーロードするにはどうすればよいですか
int someInt;
MyClass instanceOfMyClass;
someInt = instanceOfMyClass;
MyClass には number という名前の整数が含まれていますか?
operator=
typeの をオーバーロードすることはできませんint
。あなたが本当に探しているのは、operator int()
あなたのMyClass
. あなたの場合、x
あなたのクラスのプライベートメンバーであることを考慮してください:
operator int() { return x; }
正確に何が起こっているかを伝えるのが難しい場合があるため、ほとんどの場合、これを行うことは避けます。それは言った:
class MyClass {
public:
operator int() { return number; }
private:
int number;
};
これにより、クラスの (暗黙の) 変換演算子が作成されます。