Untitled
unknown
plain_text
3 years ago
1.7 kB
8
Indexable
enum class KatPJ { A, B, C, D };
class Kierowca
{
private:
int m_staz;
KatPJ m_uprawnienie;
public:
void setUprawnienie(KatPJ i_upr) { m_uprawnienie = i_upr; }
KatPJ getUprawnienie() { return m_uprawnienie; }
int getStaz() { return m_staz; }
void zwiekszStaz() { m_staz++; }
};
class Motor
{
private:
double m_predkosc;
char m_numerRej[9];
public:
void setPredkosc(double i_pred) { m_predkosc = (i_pred > 260) ? i_pred : 260; }
void setNumerRej(const char* i_num) { strncpy(m_numerRej, i_num, 8); }
const char* getNumerRej() { return m_numerRej; }
double getPredkosc() { return m_predkosc; }
};
class Wypozyczenie {
private:
Kierowca* kierowca = nullptr;
Motor* motor = nullptr;
public:
Wypozyczenie(Kierowca* k, Motor* m);
void zmienKierowce(Kierowca* k);
void zmienMotor(Motor* m);
bool sprawdz();
int stazKierowcy();
const char* getNumery();
~Wypozyczenie();
};
Wypozyczenie::Wypozyczenie(Kierowca* k, Motor* m) { //Kiedy kierowca nie ma A nie przypisuj motora ani kierowcy
if (k->getUprawnienie() == KatPJ::A) {
motor = m;
kierowca = k;
}
}
void Wypozyczenie::zmienKierowce(Kierowca* k) { //Kiedy kierowca nie ma A nie zmieniaj kierowcy
if (k->getUprawnienie() == KatPJ::A)
kierowca = k;
}
void Wypozyczenie::zmienMotor(Motor* m) {
motor = m;
}
bool Wypozyczenie::sprawdz() {
if (kierowca->getUprawnienie() != KatPJ::A) {
kierowca = nullptr;
return false;
}
return true;
}
int Wypozyczenie::stazKierowcy() {
return kierowca->getStaz();
}
const char* Wypozyczenie::getNumery() {
return motor->getNumerRej();
}
Wypozyczenie::~Wypozyczenie() {
kierowca = nullptr;
motor = nullptr;
}
int main()
{
}Editor is loading...