SS 2025
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
/*
|
||||
EScooter
|
||||
-------------------------
|
||||
- Marke: std::string
|
||||
- PS: int
|
||||
- Akku: int
|
||||
-------------------------
|
||||
+ EScooter(m: std::string, p: int, a: int)
|
||||
+ ~EScooter()
|
||||
+ getModell(): std::string
|
||||
+ getPS(): int
|
||||
+ getAkku(): int
|
||||
+ setPS(p: int): void
|
||||
+ operator<(other: EScooter): bool
|
||||
*/
|
||||
class EScooter
|
||||
{
|
||||
private:
|
||||
// Attribute
|
||||
std::string Marke;
|
||||
int PS;
|
||||
int Akku;
|
||||
|
||||
public:
|
||||
/*
|
||||
Voraussetzungen: Die Funktion kann mit einem String und zwei Integers aufgerufen werden.
|
||||
Ergebnis: Es wird kein Ergebnis zurückgegeben.
|
||||
Effekt: Ein neues EScooter-Objekt wird mit den angegebenen Marken-, PS- und Akkuwerten erstellt.
|
||||
*/
|
||||
EScooter(std::string m, int p, int a) : Marke(m), PS(p), Akku(a) {}
|
||||
|
||||
/*
|
||||
Voraussetzungen: Keine. Der Destruktor wird aufgerufen, wenn ein EScooter-Objekt gelöscht wird.
|
||||
Ergebnis: Es wird kein Ergebnis zurückgegeben.
|
||||
Effekt: Das EScooter-Objekt wird aus dem Speicher entfernt.
|
||||
*/
|
||||
~EScooter() {}
|
||||
|
||||
/*
|
||||
Voraussetzungen: Diese Methoden können aufgerufen werden, um die entsprechenden Attribute eines EScooter-Objekts zu erhalten.
|
||||
Ergebnis: Jede Methode gibt den entsprechenden Attributwert zurück.
|
||||
Effekt: Kein weiterer Effekt.
|
||||
*/
|
||||
std::string getModell()
|
||||
{
|
||||
return Marke;
|
||||
}
|
||||
|
||||
int getPS()
|
||||
{
|
||||
return PS;
|
||||
}
|
||||
|
||||
int getAkku()
|
||||
{
|
||||
return Akku;
|
||||
}
|
||||
|
||||
/*
|
||||
Voraussetzungen: Die Methode kann aufgerufen werden, um den PS-Wert eines EScooter-Objekts zu ändern.
|
||||
Ergebnis: Es wird kein Ergebnis zurückgegeben.
|
||||
Effekt: Der PS-Wert des EScooter-Objekts wird auf den übergebenen Wert gesetzt.
|
||||
*/
|
||||
void setPS(int p)
|
||||
{
|
||||
PS = p;
|
||||
}
|
||||
|
||||
/*
|
||||
Voraussetzungen: Die Methode kann aufgerufen werden, um zwei EScooter-Objekte auf der Basis ihrer PS-Werte zu vergleichen.
|
||||
Ergebnis: Die Methode gibt ein boolsches Ergebnis zurück, das angibt, ob das aktuelle EScooter-Objekt weniger PS hat als das andere.
|
||||
Effekt: Kein weiterer Effekt.
|
||||
*/
|
||||
bool operator<(const EScooter &other) const
|
||||
{
|
||||
return PS < other.PS;
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
Kochfeld
|
||||
-------------------------
|
||||
- Marke: std::string
|
||||
- AnzahlBrenner: int
|
||||
- istEingeschaltet: bool
|
||||
-------------------------
|
||||
+ Kochfeld(m: std::string, b: int)
|
||||
+ ~Kochfeld()
|
||||
+ getMarke(): std::strinsg
|
||||
+ getAnzahlBrenner(): int
|
||||
+ einschalten(): void
|
||||
+ ausschalten(): void
|
||||
+ istAn(): bool
|
||||
*/
|
||||
class Kochfeld
|
||||
{
|
||||
private:
|
||||
std::string Marke;
|
||||
int AnzahlBrenner;
|
||||
bool istEingeschaltet;
|
||||
|
||||
public:
|
||||
// Konstruktor
|
||||
Kochfeld(std::string m, int b) : Marke(m), AnzahlBrenner(b), istEingeschaltet(false) {}
|
||||
|
||||
// Destruktor
|
||||
~Kochfeld() {}
|
||||
|
||||
// Methoden
|
||||
std::string getMarke() const
|
||||
{
|
||||
return Marke;
|
||||
}
|
||||
|
||||
int getAnzahlBrenner() const
|
||||
{
|
||||
return AnzahlBrenner;
|
||||
}
|
||||
|
||||
void einschalten()
|
||||
{
|
||||
istEingeschaltet = true;
|
||||
}
|
||||
|
||||
void ausschalten()
|
||||
{
|
||||
istEingeschaltet = false;
|
||||
}
|
||||
|
||||
bool istAn() const
|
||||
{
|
||||
return istEingeschaltet;
|
||||
}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Test EScooter
|
||||
EScooter meinScooter("voi", 250, 100);
|
||||
std::cout << "Marke: " << meinScooter.getModell() << std::endl;
|
||||
std::cout << "PS: " << meinScooter.getPS() << std::endl;
|
||||
std::cout << "Akku: " << meinScooter.getAkku() << std::endl;
|
||||
EScooter andererScooter("lime", 300, 120);
|
||||
std::cout << "Ist mein Scooter schwächer als der andere? " << (meinScooter < andererScooter ? "Ja" : "Nein") << std::endl;
|
||||
meinScooter.setPS(350);
|
||||
std::cout << "Nach dem Tuning: " << std::endl;
|
||||
std::cout << "PS: " << meinScooter.getPS() << std::endl;
|
||||
std::cout << "Ist mein Scooter jetzt schwächer als der andere? " << (meinScooter < andererScooter ? "Ja" : "Nein") << std::endl;
|
||||
|
||||
// Test Kochfeld
|
||||
Kochfeld meinKochfeld("Bosch", 4);
|
||||
std::cout << "Marke: " << meinKochfeld.getMarke() << std::endl;
|
||||
std::cout << "Anzahl der Brenner: " << meinKochfeld.getAnzahlBrenner() << std::endl;
|
||||
std::cout << "Ist das Kochfeld eingeschaltet? " << (meinKochfeld.istAn() ? "Ja" : "Nein") << std::endl;
|
||||
meinKochfeld.einschalten();
|
||||
std::cout << "Ist das Kochfeld eingeschaltet? " << (meinKochfeld.istAn() ? "Ja" : "Nein") << std::endl;
|
||||
meinKochfeld.ausschalten();
|
||||
std::cout << "Ist das Kochfeld eingeschaltet? " << (meinKochfeld.istAn() ? "Ja" : "Nein") << std::endl;
|
||||
}
|
||||
Reference in New Issue
Block a user