我有一个数据类型,例如class Vector3
。现在我需要创建几个具有与Vector3
相同接口的类,但具有更高级别的语义(例如:Position
,Velocity
)。使用typedef
不足够,因为我需要这些类型是不同的,以便它们可以用于重载。在C++0x中,我可能可以使用构造函数继承:
struct Position: public Vector3 {
using Vector3::Vector3;
};
这样做会有什么问题吗?有更好的方法吗?是否可以不使用C++0x特性,而且不必显式编写所有Vector3
构造函数来完成它?