Podzieliłem sobie program na pliki *.cpp *.h wygląda to następująco:
Pracownicy.h
#ifndef PRACOWNICY_H
#define PRACOWNICY_H
//////////////////////////////////////////////////////
// Plik: Pracownicy.h
//////////////////////////////////////////////////////
class Pracownicy{
private:
string imie;
string nazwisko;
int rok_urodzenia;
public:
virtual void wypisz();
Pracownicy();
virtual ~Pracownicy();
};
class Programista: public Pracownicy{
private:
int staz_pracy;
string technologie_oprogramowania;
public:
void wypisz();
Programista();
~Programista();
};
class Kierownik_projektu: public Pracownicy{
private:
int lat_doswiadczenia;
string odbyte_szkolenia;
public:
void wypisz();
Kierownik_projektu();
~Kierownik_projektu();
};
class Handlowiec: public Pracownicy{
private:
int liczba_sprzedanych_programow;
string jezyki_obce;
public:
void wypisz();
Handlowiec();
~Handlowiec();
};
#endif
Pracownicy.cpp
/////////////////////////////////////////////////////////////
// Plik Pracownicy.cpp
/////////////////////////////////////////////////////////////
#include "Pracownicy.h"
#include <string>
#include <iostream>
Zarzadzca.h
#ifndef ZARZADCA_H
#define ZARZADCA_H
//////////////////////////////////////////////////////
// Plik: Pracownicy.h
//////////////////////////////////////////////////////
#include "Pracownicy.h"
class Zarzadca{
public:
vector<Pracownicy> Odczytaj(const string& plik_we); //metoda oczytująca dane z pliku wejsciowego.
};
#endif
Zarzadca.cpp
/////////////////////////////////////////////////////////////
// Plik Zarzadca.cpp
/////////////////////////////////////////////////////////////
#include <string>
#include <vector>
#include <fstream>
#include <iostream>
#include "Zarzadca.h"
using namespace std;
//*********** ODCZYTAJ ***************//
vector<Pracownicy> Zarzadca::Odczytaj(const string& plik_we){
//zmienne//
vector<Pracownicy> Lista; //deklaracja vectora typu pracownicy
string wiersz; //zmienna która przechowywać będzie pojedynczy wiersz z pliku wejsciowego
Pracownicy pracownik; //zmienna która przechowywać bedzie pojedynczego pracownika odczytanego z wiersza pliku
fstream Plik;
//operacje//
Plik.open(plik_we, ios::in); //Otwarcie pliku wejsciowego w trybie do oczytu
if( Plik.good() == true ) //sprawdzanie czy poprawnie został otwarty Plik wejsciowy
{
cout << "Otworzono plik.!" <<endl;
//OPERACJE NA PLIKU//
while( !Plik.eof() ) // Dopóki kursor nie znajdzie się na końcu pliku wykonaj...
{
getline( Plik, wiersz ); //Odczyt pojedyńczego wierszu z pliku wejsciowego
}
//KONIEC OPERACJI NA PLIKU//
}else
cout << "Nie otworzono pliku." <<endl;
return Lista;
}
Kadry.cpp
#include <iostream>
#include <string>
#include "Pracownicy.cpp"
#include "Zarzadca.cpp"
using namespace std;
void main(int argc, char *argv[]){
}
Niestety program się nie chce kompilować, mam następujące błędy
Error 19 error C2039: 'Odczytaj' : is not a member of 'Zarzadca' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.cpp 13 1 Kadry
Error 53 error C2039: 'Odczytaj' : is not a member of 'Zarzadca' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.cpp 13 1 Kadry
Error 16 error C2143: syntax error : missing ';' before '<' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
Error 50 error C2143: syntax error : missing ';' before '<' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
Error 1 error C2146: syntax error : missing ';' before identifier 'imie' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 20 error C2146: syntax error : missing ';' before identifier 'imie' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 35 error C2146: syntax error : missing ';' before identifier 'imie' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 13 error C2146: syntax error : missing ';' before identifier 'jezyki_obce' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 32 error C2146: syntax error : missing ';' before identifier 'jezyki_obce' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 47 error C2146: syntax error : missing ';' before identifier 'jezyki_obce' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 4 error C2146: syntax error : missing ';' before identifier 'nazwisko' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 23 error C2146: syntax error : missing ';' before identifier 'nazwisko' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 38 error C2146: syntax error : missing ';' before identifier 'nazwisko' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 10 error C2146: syntax error : missing ';' before identifier 'odbyte_szkolenia' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 29 error C2146: syntax error : missing ';' before identifier 'odbyte_szkolenia' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 44 error C2146: syntax error : missing ';' before identifier 'odbyte_szkolenia' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 7 error C2146: syntax error : missing ';' before identifier 'technologie_oprogramowania' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 26 error C2146: syntax error : missing ';' before identifier 'technologie_oprogramowania' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 41 error C2146: syntax error : missing ';' before identifier 'technologie_oprogramowania' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 18 error C2238: unexpected token(s) preceding ';' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
Error 52 error C2238: unexpected token(s) preceding ';' d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 5 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 6 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 8 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 9 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 11 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 14 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 15 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 17 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
Error 21 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 22 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 24 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 25 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 27 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 28 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 30 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 31 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 33 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 34 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 36 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 37 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 1 Kadry
Error 39 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 40 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 1 Kadry
Error 42 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 43 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 1 Kadry
Error 45 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 46 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 1 Kadry
Error 48 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 49 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 1 Kadry
Error 51 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.h 10 1 Kadry
59 IntelliSense: declaration is incompatible with "<error-type> Zarzadca::Odczytaj(const <error-type> &plik_we)" (declared at line 10 of "d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\Zarzadca.h") d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\zarzadca.cpp 13 30 Kadry
54 IntelliSense: identifier "string" is undefined d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 9 2 Kadry
55 IntelliSense: identifier "string" is undefined d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 10 2 Kadry
56 IntelliSense: identifier "string" is undefined d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 22 2 Kadry
57 IntelliSense: identifier "string" is undefined d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 33 2 Kadry
58 IntelliSense: identifier "string" is undefined d:\dokumenty\studia\rok 2\programowanie komputerów\projekt\kadry\kadry\kadry\pracownicy.h 43 2 Kadry
Gdzie popełniam błąd?