For example, I have the next code:
template<typename T, typename T2>
class a
{
public:
using myfl_t = float;
a(myfl_t fl, double db) {}
virtual void f()
{
std::cout << "a::f()\n";
}
};
template<typename T>
class b : public a<T, int>
{
using base_t = a<T, int>;
using myfl_t = typename base_t::myfl_t;
public:
b(myfl_t fl, double db)
: base_t(fl, db) {}
void f() override
{
std::cout << "b::f()\n";
}
};
It seems that I can reuse the base class's myfl_t declaration only by duplicating using in the derived class. Is there an easier way to do it?