Witam. Mam takie zadanko
Napisz deklarację klasy Auto, która ma pola
- nazwa - stałe pole tekstowe zawierające identyfikator auta
- maxOsob – pole o stałej dodatniej wartości całkowitej, określające maksymalną liczbę osób w aucie
- osob – pole o zmiennej nieujemnej wartości całkowitej określające aktualną liczbę osób w aucie (oczywiście nie może przekraczać maxOsob)
oraz - konstruktor inicjujący wartości pól poprzez swoje parametry, domyślnie puste auto pięciosobowe (I)
- przeciążony operator += pozwalający na wejście do auta n osobom (I)
- przeciążony operator -= pozwalający na wyjście z auta n osobom
- przeciążony operator += realizujący przesiadkę z innego auta tylu osób ile można
- przeciążony operator -= realizujący przesiadkę do innego auta tylu osób ile można ( w obu ostatnich metodach następuje zmiana stanu drugiego auta) (I)
Jak będzie wyglądało przeciążenie operatora +=? Mam dodatkowo zainicjować kolejną zmienna np n - określającą ile osob ma wsiąść do auta?
Do tej pory napisałem tyle
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
class Auto
{
const string nazwa;
unsigned const int maxOsob;
unsigned int osob;
public:
Auto(string n, int m=5, int o=0):nazwa(n),maxOsob(m),osob(o){}
int &operator +=(unsigned const int o)
{
int n;
cout<<"podaj ile osob: ";
cin>>n;
if(osob+n>maxOsob)
{
cout<<"\nkomplet osob w aucie";
}
else
{
osob+=n;
return osob;
}
}
void Wyswietl()
{
cout<<"nazwa: "<<nazwa<<"\nLiczba miejsc: "<<maxOsob<<"\nLiczba osob w aucie: "<<osob;
}
};
int main()
{
Auto Hybryd = new Auto ("hybryda",5,0);
Hybryd+=1;
return 0;
}