Когда я использую using
вот так, почему конструктор наследуется публично?
class Base {
int x;
public:
Base(int x);
};
class Derived : public Base {
using Base::Base;
};
Теперь я могу сделать:
Derived d (2);
Я думал, что объявления using
имеют видимость того, где они расположены. Здесь он должен быть частным.
Из Язык программирования C++:
Доступ к имени, помещенному в область действия производного класса с помощью объявления-использования, определяется размещением объявления-использования;