私は次のクラスを持っています:
template<typename T>
class Vector { ... };
template<typename T>
class Vector2 : public Vector<T> { ... };
さて、オブジェクトが実際には Vector2 でなくても、Vector を Vector2 にキャストできるようにしたいと思います (つまり、dynamic_cast は私が探しているものではありません)。
何を実装すればよいですか?
- Vector のキャスト演算子
operator Vector2 ()
- Vector2 のコンストラクター
Vector2(const Vector<T> &)
- 両方
両方を実装する必要がある場合、キャスト演算子はいつ呼び出され、コンストラクターはいつ呼び出されますか?