Исследуя вопрос 'No arguments that depend on a template parameter' наткнулся на интересный побочный эффект от использования using объявлений.Оказывается помещая их в нужные секции класса ,публичные члены можно сделать защищёнными или закрытыми,а защищённые можно сделать открытими.Что значительно улучшает инкапсуляцию.Может для многих это не ново,для меня просто офигительная находка.
class Base
{
protected:
int one;
public:
int two;
};
class Derived : public Base
{
public:
using Base::one;
private:
using Base::two;
};