Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Methoden der Klasse | Grundlagen der OOP in C++
Quizzes & Challenges
Quizzes
Challenges
/
C++ OOP

bookHerausforderung: Methoden der Klasse

Methoden in einer Klasse sind im Wesentlichen nur Funktionen, die innerhalb der Klasse definiert sind. Sie dienen dazu, das Verhalten oder die Aktionen zu bestimmen, die Objekte der Klasse ausführen können.

Methoden manipulieren häufig die Attribute der Klasse oder führen Operationen aus, die für die Objekte relevant sind.

Implementierung von Methoden außerhalb der Klasse

Methoden können außerhalb der class-Deklaration mit dem Gültigkeitsbereichsauflösungsoperator (::) definiert werden. Dies wird häufig verwendet, um die Deklaration in der Header-Datei von der Implementierung in der Quelldatei zu trennen. So wird es gemacht:

Example.h

Example.h

Example.cpp

Example.cpp

copy
1234
class Example { public: void Method(); };

Es ist nicht zwingend erforderlich, zwei separate Dateien dafür zu erstellen; dies kann auch in einer einzigen Datei umgesetzt werden und erweist sich in bestimmten Situationen als vorteilhaft.

main.cpp

main.cpp

copy
12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

Sie können die Aufgabe mit der Methode Ihrer Wahl angehen. Eine bewährte Praxis ist jedoch, Deklaration und Implementierung zu trennen.

Aufgabe

Swipe to start coding

Stellen Sie sich vor, Sie entwickeln ein einfaches System zur Berechnung des Preises eines Produkts mit einem angewendeten Rabatt. Das System soll außerdem eine spezielle Regel durchsetzen: Kein Rabatt darf 50 % überschreiten, selbst wenn ein höherer Wert angegeben wird.

Sie haben eine Klasse Product mit den folgenden Feldern:

  • price vom Typ float
  • discount vom Typ float

Sie müssen eine Methode getFinalPrice() implementieren, die:

  1. Den Rabattwert überprüft: Wenn dieser größer als 50 % ist, wird er auf 50 % gesetzt.
  2. Den Endpreis berechnet und zurückgibt:
    • In Klammern wird der Rabattbetrag mit der Formel (price * discount / 100) berechnet
    • Der Rabattbetrag wird vom price subtrahiert, um den Endpreis nach Abzug des Rabatts zu erhalten

Beispiel

price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookHerausforderung: Methoden der Klasse

Swipe um das Menü anzuzeigen

Methoden in einer Klasse sind im Wesentlichen nur Funktionen, die innerhalb der Klasse definiert sind. Sie dienen dazu, das Verhalten oder die Aktionen zu bestimmen, die Objekte der Klasse ausführen können.

Methoden manipulieren häufig die Attribute der Klasse oder führen Operationen aus, die für die Objekte relevant sind.

Implementierung von Methoden außerhalb der Klasse

Methoden können außerhalb der class-Deklaration mit dem Gültigkeitsbereichsauflösungsoperator (::) definiert werden. Dies wird häufig verwendet, um die Deklaration in der Header-Datei von der Implementierung in der Quelldatei zu trennen. So wird es gemacht:

Example.h

Example.h

Example.cpp

Example.cpp

copy
1234
class Example { public: void Method(); };

Es ist nicht zwingend erforderlich, zwei separate Dateien dafür zu erstellen; dies kann auch in einer einzigen Datei umgesetzt werden und erweist sich in bestimmten Situationen als vorteilhaft.

main.cpp

main.cpp

copy
12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

Sie können die Aufgabe mit der Methode Ihrer Wahl angehen. Eine bewährte Praxis ist jedoch, Deklaration und Implementierung zu trennen.

Aufgabe

Swipe to start coding

Stellen Sie sich vor, Sie entwickeln ein einfaches System zur Berechnung des Preises eines Produkts mit einem angewendeten Rabatt. Das System soll außerdem eine spezielle Regel durchsetzen: Kein Rabatt darf 50 % überschreiten, selbst wenn ein höherer Wert angegeben wird.

Sie haben eine Klasse Product mit den folgenden Feldern:

  • price vom Typ float
  • discount vom Typ float

Sie müssen eine Methode getFinalPrice() implementieren, die:

  1. Den Rabattwert überprüft: Wenn dieser größer als 50 % ist, wird er auf 50 % gesetzt.
  2. Den Endpreis berechnet und zurückgibt:
    • In Klammern wird der Rabattbetrag mit der Formel (price * discount / 100) berechnet
    • Der Rabattbetrag wird vom price subtrahiert, um den Endpreis nach Abzug des Rabatts zu erhalten

Beispiel

price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
single

single

some-alt