내가 다음과 같은 클래스를 가지고 말 : 내 파생 클래스에서파생 클래스에서 기본 클래스의 멤버를 별칭으로 지정할 수 있습니까?
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
감사합니다. 참조가 적용되었습니다. –