W projekcie ma znajdować się firma z listą pracowników, którzy są osobami(3 klasy). Mianowicie gdy tworzę obiekt Firma wyskakuje powyższy błąd a przyczyny nie mogę znaleźć.
klasy.h
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Osoba
{
protected:
string imie;
string nazwisko;
string pesel;
public:
Osoba(string,string,string);
string get_imie();//podaje imie
string get_nazwisko();//podaje nazwisko
string get_pesel();//podaje pesel
};
class Pracownik : public Osoba
{
int liczba_godzin;
public:
Pracownik(string ,string ,string ,int);
int podaj_liczbe_godzin();//podaje liczbe godzin
};
class Firma
{
string nazwa;
double stawka_godzinowa;
vector<Pracownik> pracownicy;
public:
Firma(string, double );
void zatrudnij (Pracownik);//zatrudnia pracownika
void zwolnij (Pracownik);//zwalnia pracownika
void wyswietl_liste_plac();//wyswietla liste pracownikow
};
klasy.cpp
#include <iostream>
#include <vector>
#include <string>
#include "klasy.h"
Osoba::Osoba(string im="brak", string na="brak", string pe="brak")//przypisuje domyslne
{
imie=im;
nazwisko=na;
pesel=pe;
}
using namespace std;
string Osoba::get_imie()
{
cin>>imie;
return imie;
}
string Osoba::get_nazwisko()
{
cin>>nazwisko;
return nazwisko;
}
string Osoba::get_pesel()
{
cin>>pesel;
return pesel;
}
Pracownik::Pracownik(string im="brak",string na="brak",string pe="brak", int lg=0)//przypisuje domyslne
{
imie=im;
nazwisko=na;
pesel=pe;
liczba_godzin=lg;
}
int Pracownik::podaj_liczbe_godzin()
{
cin>>liczba_godzin;
return liczba_godzin;
}
Firma::Firma(string nw="brak", double st=0)//przypisuje domyslne
{
nazwa=nw;
stawka_godzinowa=st;
}
void Firma::zatrudnij ( Pracownik p){
pracownicy.push_back(p);
}
void Firma::zwolnij (Pracownik p){
cout<<"Ktorego pracownika zwolnic?"<<endl;
pracownicy.pop_back();
}
double podaj_koszty_pracy();
/*void Firma::wyswietl_liste_plac(){
vector<Pracownik>::iterator it;
for( it=pracownicy.begin(); it!=pracownicy.end(); ++it )
{
cout<< *it <<endl;
}*/
main.cpp
#include <iostream>
#include <vector>
#include "klasy.h"
using namespace std;
int main()
{
Firma f1;
return 0;
}