Witam mam taką klasę Samochód:
class Samochod{
private:
string marka;
string model;
string kolor;
bool silnik; // wlaczony - 1 , wylaczony - 0
double spalanie; // w l/100km
double paliwo; // w l
double pojemnosc_baku; // w l
double przebieg; //w km
public:
void prezentuj()
{
cout<<"Marka: "<<marka<<endl<<"Model: "<<model<<endl<<"Kolor: "<<kolor<<endl;
string silniczek="Wylaczony"; //zmiana silniku z prawda/falsz na tekst
if(silnik==1) silniczek = "Wlaczony";
cout<<"Silnik: "<<silniczek<<endl<<"Spalanie: "<<spalanie<<endl<<"Paliwo: "<<paliwo<<endl;
cout<<"Pojemnosc baku: "<<pojemnosc_baku<<endl<<"Przebieg: "<<przebieg<<endl;
}
///////////////////////////////////////////KONSTRUKTOR I DESTRUKTOR/////////////////////////////////////////////
Samochod(string mar, string mod, string klr,bool sil,double spal, double prz, double pal,double poj)
{
marka = mar;
model = mod;
kolor = klr;
silnik - sil;
spalanie = spal;
paliwo = pal;
przebieg = prz;
pojemnosc_baku = poj;
cout << "Kontruktor samochod\n";
};
~Samochod(){
cout <<"Destruktor"<<endl<<endl;
};
};
I jej pochodną - Osobowy:
class Osobowy
: public Samochod
{
private:
int ilosc_miejsc;
Osobowy(int im, string mar, string mod, string klr,bool sil,double spal, double prz, double pal,double poj):Samochod(marka,model,kolor,silnik,spalanie,przebieg,paliwo,pojemnosc_baku), ilosc_miejsc(im)
{
marka = mar;
model = mod;
kolor = klr;
silnik - sil;
spalanie = spal;
paliwo = pal;
przebieg = prz;
pojemnosc_baku = poj;
cout << "Kontruktor wieloargumentowy Samochodu Osobowego \n";
};
~Osobowy(){
cout <<"Destruktor samochodu osobowego"<<endl<<endl;
};
/////////////////////////////////////////////////////////////// wypisywanie samochodu osobowego /////////////////////////////////////
void wypisz_iloscmiejsc()
{
cout << "ilosc miejsc = " << ilosc_miejsc << "\n";
};
void wypisz()
{
Samochod::prezentuj();
wypisz_iloscmiejsc();
};
};
Jednak przez to że zmieniłem pola na prywatne wyskakuje błąd kompilacji - jak rozwiązać ten problem (unikając pól public)?