Witam
Czy jest jakiś sposób inny niż poniżej by jak ktoś poda w potomnej klasie definicję funkcji fun2 to by się kod nie skompilował?
'virtual fun2() final' wydaje się że jest rozwiązaniem ale pytanie czy to poprawne jest rozwiązanie w takim sensie logicznym, być może jest jeszcze bardziej poprawniejsze, np. jak sobie radzono z tym przed C++11?
class Klasa
{
public:
virtual ~Klasa() = default;
void fun2() {} ; //dla 'virtual void fun2() final' działa, będzie błąd kompilacji jak w Klasie2 fun2 zdefiniowana
};
class Klasa2: public Klasa
{
public:
void fun2() { std::cout << "test" << std::endl;};
};