single
Challenge: Klassens Metoder
Stryg for at vise menuen
Metoder i en klasse er i bund og grund bare funktioner, der er defineret inden for klassen. De bruges til at definere de handlinger eller adfærd, som objekter af klassen kan udføre.
Metoder manipulerer ofte attributterne i klassen eller udfører operationer, der er relevante for objekterne.
Implementering af metoder uden for klassen
Metoder kan defineres uden for class-deklarationen ved hjælp af scope resolution operatoren (::). Dette gøres ofte for at adskille deklarationen i header-filen fra implementeringen i kildefilen. Sådan gør du:
Example.h
Example.cpp
1234class Example { public: void Method(); };
Det er ikke obligatorisk at oprette to separate filer til dette formål; du kan gøre det i én enkelt fil, og i visse situationer viser det sig at være fordelagtigt.
main.cpp
12345678#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }
En god praksis er at adskille deklaration og implementering.
Swipe to start coding
Forestil dig, at du bygger et simpelt system til at beregne prisen på et produkt med en anvendt rabat. Systemet skal også håndhæve en særlig regel: ingen rabat må overstige 50 %, selv hvis der angives en højere værdi.
Du har en klasse Product med følgende felter:
priceaf typenfloatdiscountaf typenfloat
Du skal implementere en metode getFinalPrice(), der:
- Kontrollerer rabatværdien: hvis den er større end 50 %, sættes den til 50 %.
- Beregner den endelige pris og returnerer den:
- Beregn rabatbeløbet i parentes ved hjælp af formlen
(price * discount / 100) - Træk rabatbeløbet fra
pricefor at få den endelige pris efter rabat
- Beregn rabatbeløbet i parentes ved hjælp af formlen
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat