Utmaning: Klassens Metoder
Metoder i en klass är i grunden bara funktioner som definieras inom klassen. De används för att definiera de beteenden eller handlingar som objekt av klassen kan utföra.
Metoder manipulerar ofta attributen i klassen eller utför operationer som är relevanta för objekten.
Implementering av metoder utanför klassen
Metoder kan definieras utanför class-deklarationen med hjälp av scope resolution operator (::). Detta görs ofta för att separera deklarationen i header-filen från dess implementation i källfilen. Så här gör du:
Example.h
Example.cpp
1234class Example { public: void Method(); };
Det är inte obligatoriskt att skapa två separata filer för detta ändamål; det kan uppnås inom en enda fil, och i vissa situationer visar det sig vara fördelaktigt.
main.cpp
12345678#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }
Känn dig fri att lösa uppgiften med den metod du föredrar. Men en god praxis är att separera deklaration och implementation.
Swipe to start coding
Föreställ dig att du bygger ett enkelt system för att beräkna priset på en produkt med en tillämpad rabatt. Systemet ska även upprätthålla en särskild regel: ingen rabatt får överstiga 50 %, även om ett högre värde anges.
Du har en klass Product med följande fält:
priceav typenfloatdiscountav typenfloat
Du behöver implementera en metod getFinalPrice() som:
- Kontrollerar rabattvärdet: om det är större än 50 %, sätt det till 50 %.
- Beräknar det slutliga priset och returnerar det:
- Inom parentes, beräkna rabattbeloppet med formeln
(price * discount / 100) - Subtrahera rabattbeloppet från
priceför att få slutpriset efter rabatt
- Inom parentes, beräkna rabattbeloppet med formeln
Exempel
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ösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.13
Utmaning: Klassens Metoder
Svep för att visa menyn
Metoder i en klass är i grunden bara funktioner som definieras inom klassen. De används för att definiera de beteenden eller handlingar som objekt av klassen kan utföra.
Metoder manipulerar ofta attributen i klassen eller utför operationer som är relevanta för objekten.
Implementering av metoder utanför klassen
Metoder kan definieras utanför class-deklarationen med hjälp av scope resolution operator (::). Detta görs ofta för att separera deklarationen i header-filen från dess implementation i källfilen. Så här gör du:
Example.h
Example.cpp
1234class Example { public: void Method(); };
Det är inte obligatoriskt att skapa två separata filer för detta ändamål; det kan uppnås inom en enda fil, och i vissa situationer visar det sig vara fördelaktigt.
main.cpp
12345678#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }
Känn dig fri att lösa uppgiften med den metod du föredrar. Men en god praxis är att separera deklaration och implementation.
Swipe to start coding
Föreställ dig att du bygger ett enkelt system för att beräkna priset på en produkt med en tillämpad rabatt. Systemet ska även upprätthålla en särskild regel: ingen rabatt får överstiga 50 %, även om ett högre värde anges.
Du har en klass Product med följande fält:
priceav typenfloatdiscountav typenfloat
Du behöver implementera en metod getFinalPrice() som:
- Kontrollerar rabattvärdet: om det är större än 50 %, sätt det till 50 %.
- Beräknar det slutliga priset och returnerar det:
- Inom parentes, beräkna rabattbeloppet med formeln
(price * discount / 100) - Subtrahera rabattbeloppet från
priceför att få slutpriset efter rabatt
- Inom parentes, beräkna rabattbeloppet med formeln
Exempel
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ösning
Tack för dina kommentarer!
single