У меня есть тип данных, например class Vector3
. Теперь мне нужно создать несколько классов с тем же интерфейсом, что и Vector3
, но с семантикой более высокого уровня (например: Position
, Velocity
). Использование typedef
недостаточно, потому что мне нужно, чтобы эти типы были разными, чтобы их можно было использовать для перегрузки. В C ++ 0x я, вероятно, мог бы использовать наследование конструктора:
struct Position: public Vector3 {
using Vector3::Vector3;
};
Могут ли с этим быть проблемы? Есть ли лучший способ сделать это? Можно ли сделать это без использования функций C ++ 0x и без явного написания всех конструкторов Vector3
?