У меня есть следующий код:
class A
{
public:
virtual void f(int a) = 0;
virtual void f(int a, int b) = 0;
};
class B : public A
{
public:
// do not want f(int a,int b) accessible
void f(int a);
};
class C : public A
{
public:
// do not want f(int a) accessible
void f(int a, int b);
};
Я знаю, что чисто виртуальные функции не могут быть удалены.Есть ли способ отключить эти функции, так что ошибка времени компиляции происходит, если экземпляр B пытается вызвать f (int, int) или когда экземпляр C пытается вызвать f (int)