У меня есть три класса, определенные в файле .h:
class Base
{ // number of pure virtual functions };
class Derived1 : public Base
{ // number of pure virtual functions };
class Derived2 : public Base
{ // number of pure virtual functions };
Я хочу, чтобы пользователи этого заголовочного файла были только подклассифицированы Derived1 или Derived2. Я хочу запретить пользователям подклассы Base. Я "мог" использовать ключевое слово "final" для класса Base, но это помешало бы мне от подкласса в моем заголовочном файле. Мне нужно, чтобы все вышеупомянутые классы в файле заголовка были необходимы пользователю для определения определений методов в классах Base и DerivedX.
Я думаю о чем-то вроде ограничения области наследования в файл заголовка (аналогично статической переменной). Любые предложения или идеи будут высоко оценены.