次のクラスがあるとします。
template <typename DataType, size_t Dimensions>
class Vector : public std::array<DataType, Dimensions> {
//stuff
};
template <typename DataType>
class Vector2 : public Vector<DataType, 2> {
//2d specific stuff
};
template <typename DataType, size_t Dimensions>
class Line {
public:
Vector<DataType, Dimensions>& min();
Vector<DataType, Dimensions>& max();
private:
Vector<DataType, Dimensions> m_min;
Vector<DataType, Dimensions> m_max;
};
template <typename DataType>
class Line2 : public Line<DataType, 2> {
//2d specific stuff
};
a で呼び出されたときにaではなくamin()
を返す最良の方法は何ですか? 内にとを昇格させることはできますか? または、それらをオーバーライドしても、基本クラスは適切に機能しますか?max()
Line2
Vector2&
Vector&
m_min
m_max
Vector2
Line2
Line