Piszę pewien program w którym chcę zastosować Polimorfizm. W pliku nagłówkowym .h zdefiniowałem sobie to tak:
class Kreator{
public:
virtual void ustaw_cechy_unikalne() = 0;
};
class Kreator_czlowiek :public Kreator{
public:
virtual void ustaw_cechy_unikalne();
};
class Kreator_elf :public Kreator{
public:
virtual void ustaw_cechy_unikalne();
};
class Kreator_krasnolud :public Kreator{
public:
virtual void ustaw_cechy_unikalne();
};
class Kreator_niziolek :public Kreator{
public:
virtual void ustaw_cechy_unikalne();
};
W pliku .cpp chciałem napisać kod tej metody, ale kompilator wywala błąd. Fragment pliku .cpp:
virtual void Kreator_czlowiek::ustaw_cechy_unikalne(Bohater * postac){
//cos tam zrob
}
Błąd wyrzuca w linijce nagłówka. Gdy nie ma tam słowa "virtual" ani "void" wtedy wiadomo otrzymuję komunikat "prototype does not mach any in class...". Gdy dodam słowo "virtual" wtedy wyrzuca "virtual outside the class definition". jak to zrobić poprawnie?