Practicumopgaven C++ Programmeren (2CPPP1) week 1


Een klasse voor een betaalkaart.

Gegeven het UML klassendiagram van de klasse CreditCard. Een CreditCard-object heeft drie attributen, name, id en credit. Het attribuut name is een pointer die het adres bevat van het stukje geheugen waarin de naam van de eigenaar van de kaart is opgeslagen. Het attribuut id bevat het identificatienummer van de kaart en het attribuut credit bevat het bedrag dat nog maximaal met de kaart kan worden betaald. (Vergeet niet bij het aanvragen van het geheugen voor de naam, dat ook een 0-karakter moet worden opgeslagen!)

De klasse CreditCard heeft een constructor met een const char *, een int en een double parameter, die een kopie van de aangeleverde naam maakt in een voldoende groot stuk geheugen en het id en een bedrag opslaat in het nieuwe object.
De klasse CreditCard heeft een methode print() die de naam, het id en het krediet van het CreditCard-object naar cout stuurt. Verder heeft de klasse een methode getCredit() die het krediet van de kaart aflevert en methoden pay(amount) en load(amount) die respectievelijk een bedrag van de kaart afschrijven of bijschrijven.
Indien het af te schrijven bedrag groter is dan het krediet, gaat de afschrijving niet door, maar wordt een foutmelding gegeven!

Het volgende moet worden gedaan:

  1. Implementeer de klasse CreditCard in C++. Vergeet niet om ook een destructor te definiëren!
  2. Schrijf bovendien een testprogramma dat een tweetal CreditCard-objecten maakt.
    Zorg ervoor dat beide in de les besproken manieren om een object te maken, worden gebruikt. (Via een declaratie en m.b.v. new).
    Bovendien moet het programma alle methoden testen. Ook de destructor!