说我有以下类:我可以在派生类中为基类的成员别名吗?
template <class T>
class Base {
protected:
T theT;
// ...
};
class Derived : protected Base <int>, protected Base <float> {
protected:
// ...
using theInt = Base<int>::theT; // How do I accomplish this??
using theFloat = Base<float>::theT; // How do I accomplish this??
};
在我的派生类,我想用一个更直观的名称,使得在派生类的更多意义上是指Base::theT
。我正在使用GCC 4.7,它具有很好的C++ 11功能。有没有使用using
语句来完成这种我在上面的示例中尝试过的方式?我知道在C++ 11中,using
关键字可以用于别名类型以及例如。将受保护的基类成员纳入公共范围。有没有类似的机制来混淆成员?
我觉得你要么需要引用,要么可能是一个不会占用派生类空间的函数。 :| – Xeo
谢谢,参考工作。 –