У меня следующая проблема:
- хочу наследовать некоторый класс как защищенный (вне производного класса мне не нужен какой-либо член или функция из базового класса)
- хочу иметь возможность каким-то образом получить доступ к базовому конструктору
Вот пример (ошибка компиляции):
class Animal
{
public:
explicit Animal(void){;}
};
class Dog: private Animal
{
public:
explicit Dog(void){;}
};
int main(int argc, char *argv[])
{
Dog* pDog1 = new Dog();
Animal* pDog2 = new Dog();
return 0;
}
Как я могу решить это?
Спасибо!
edit: Допустим, базовый класс унаследован от некоторой библиотеки, поэтому я не могу его изменить.