Sytuacja wygląda następująco.Zapobiegaj klasie dziedziczącej z nadrzędnej funkcji wirtualnej klasy bazowej
class Interface
{
public:
virtual void foo() = 0;
}
class MyClass : Interface
{
public:
virtual void bar() = 0;
private:
void foo()
{
//Some private work and checks.
bar();
};
}
chcę, że mój użytkownik utworzy klasę które dziedziczą z MojaKlasa, a będą musieli tam bar()
wdrożenia.
Ale jak mogę je zatwierdzić, nie zastąpią foo()
? ponieważ ważne jest, aby używać mojego foo()
.
Czy to się kompiluje? Jeśli tak, nie masz problemu, ponieważ Twój foo jest prywatny. Edycja: ah, nie, nie kompiluje się ... –
@MrLister: Prywatne metody mogą nadal zostać zmienione. –
To prawda, przepraszam. Nieważne więc. Odpowiedź już została udzielona. –