Я знаю using
в C ++ 11 ведет себя так же, как typedef
. У меня есть этот код и я нашел разные варианты использования:
template<typename T, int a>
class Base
{
public:
std::vector<T> noise_(a);
using VectorType = std::vector<T>;
virtual VectorType getVector() const
{
return noise_;
}
protected:
VectorType noise_;
};
template<typename T, int a>
class Derived : public Base<T,a>
{
public:
using Base<T,a>::noise_;
using VectorType = typename Base<T,a>::VectorType;
using Base<T,a>::getVector;
};
Здесь using
используется 3 различными способами. Какова цель следующей строки (noise_
является защищенным членом базового класса):
using Base<T,a>::noise_;
То же для:
using Base<T,a>::getVector;