Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Methoden van de Klasse | Fundamenten van OOP in C++
C++ OOP

bookUitdaging: Methoden van de Klasse

Methoden in een klasse zijn in wezen gewoon functies die binnen de klasse zijn gedefinieerd. Ze worden gebruikt om het gedrag of de acties te definiëren die objecten van de klasse kunnen uitvoeren.

Methoden manipuleren vaak de attributen van de klasse of voeren bewerkingen uit die relevant zijn voor de objecten.

Implementatie van methoden buiten de klasse

Methoden kunnen buiten de class-declaratie worden gedefinieerd met behulp van de scope resolution operator (::). Dit wordt vaak gedaan om de declaratie in het headerbestand te scheiden van de implementatie in het bronbestand. Dit is hoe je dat zou doen:

Example.h

Example.h

Example.cpp

Example.cpp

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

Het is niet verplicht om twee afzonderlijke bestanden te maken voor dit doel; dit kan ook in één enkel bestand worden gerealiseerd, en in bepaalde situaties blijkt dit voordelig te zijn.

main.cpp

main.cpp

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

Voel je vrij om de taak aan te pakken met de methode van jouw voorkeur. Een gangbare goede praktijk is echter om de declaratie en implementatie te scheiden.

Taak

Swipe to start coding

Stel je voor dat je een eenvoudig systeem bouwt om de prijs van een product te berekenen met een toegepaste korting. Het systeem moet ook een speciale regel afdwingen: geen enkele korting mag meer dan 50% bedragen, zelfs als een hogere waarde wordt opgegeven.

Je hebt een klasse Product met de volgende velden:

  • price van het type float
  • discount van het type float

Je moet een methode getFinalPrice() implementeren die:

  1. De kortingswaarde controleert: als deze groter is dan 50%, stel deze dan in op 50%.
  2. De uiteindelijke prijs berekent en retourneert:
    • Bereken binnen haakjes het kortingsbedrag met de formule (price * discount / 100)
    • Trek het kortingsbedrag af van de price om de uiteindelijke prijs na korting te krijgen

Voorbeeld

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

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

bookUitdaging: Methoden van de Klasse

Veeg om het menu te tonen

Methoden in een klasse zijn in wezen gewoon functies die binnen de klasse zijn gedefinieerd. Ze worden gebruikt om het gedrag of de acties te definiëren die objecten van de klasse kunnen uitvoeren.

Methoden manipuleren vaak de attributen van de klasse of voeren bewerkingen uit die relevant zijn voor de objecten.

Implementatie van methoden buiten de klasse

Methoden kunnen buiten de class-declaratie worden gedefinieerd met behulp van de scope resolution operator (::). Dit wordt vaak gedaan om de declaratie in het headerbestand te scheiden van de implementatie in het bronbestand. Dit is hoe je dat zou doen:

Example.h

Example.h

Example.cpp

Example.cpp

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

Het is niet verplicht om twee afzonderlijke bestanden te maken voor dit doel; dit kan ook in één enkel bestand worden gerealiseerd, en in bepaalde situaties blijkt dit voordelig te zijn.

main.cpp

main.cpp

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

Voel je vrij om de taak aan te pakken met de methode van jouw voorkeur. Een gangbare goede praktijk is echter om de declaratie en implementatie te scheiden.

Taak

Swipe to start coding

Stel je voor dat je een eenvoudig systeem bouwt om de prijs van een product te berekenen met een toegepaste korting. Het systeem moet ook een speciale regel afdwingen: geen enkele korting mag meer dan 50% bedragen, zelfs als een hogere waarde wordt opgegeven.

Je hebt een klasse Product met de volgende velden:

  • price van het type float
  • discount van het type float

Je moet een methode getFinalPrice() implementeren die:

  1. De kortingswaarde controleert: als deze groter is dan 50%, stel deze dan in op 50%.
  2. De uiteindelijke prijs berekent en retourneert:
    • Bereken binnen haakjes het kortingsbedrag met de formule (price * discount / 100)
    • Trek het kortingsbedrag af van de price om de uiteindelijke prijs na korting te krijgen

Voorbeeld

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

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5
single

single

some-alt