Problem jest zapewne banalny, ale ja nie mogę na to wpaść. Chodzi mi o to, aby działała metoda wyświetlania danych w klasie osoba i klasach pochodnych. Przy funkcji zaprzyjaźnionej to działało, przy wirtualnej już nie.
Błąd wyskakuje przy zdefiniowaniu metody w 24 linijce.
Proszę o pomoc.
#include <iostream>
using namespace std;
class osoba
{
string imie;
string nazwisko;
string dataurodzenia;
public:
osoba(string imie, string nazwisko, string dataurodzenia);
virtual void wypiszinfo() const;
};
osoba::osoba(string i, string n, string d)
{
imie = i;
nazwisko = n;
dataurodzenia = d;
}
void wypiszinfo(osoba x)
{
cout << "Imie: " << x.imie << " Nazwisko: " << x.nazwisko << " Urodzony: " << x.dataurodzenia;
}
class student:public osoba
{
int rok;
int grupa;
int indeks;
public:
virtual void wypiszinfo() const;
};
class pilkarz:public osoba
{
string pozycja;
string klub;
int gole;
public:
virtual void wypiszinfo() const;
};
int main()
{
string a = "Marcin";
string b = "Kundelek";
string c = "10-11-1002";
osoba x = osoba(a,b,c);
wypiszinfo(*x);
return 0;
}