© Harry Broeders.
Deze pagina is bestemd voor studenten van de Haagse Hogeschool - Academie voor Technology, Innovation & Society Delft groep EQ2. Op deze pagina vind je het in de lessen OGOPRG co1/pr1 gebruikte studiemateriaal.
Let op! Deze pagina bevat mogelijk verouderde informatie, kijk op Blackboard voor de meest recente informatie!
Studiewijzer | Lesplanning | Studiemateriaal | Sheets | Voorbeeldprogramma's | Practicumopdrachten 1 2 3 4 |
---|
Objectgeoriënteerd Programmeren in C++ van Harry Broeders
is in licentie gegeven volgens een Creative
Commons Naamsvermelding-NietCommercieel-GelijkDelen 3.0
Nederland-licentie.
const
dan #define
kunt gebruiken. struct
met
losse functies worden op pagina 18 van het dictaat besproken. Breuk
die op pagina 18
van het dictaat wordt gedeclareerd. Het gebruik van een
class
met memberfuncties heeft veel voordelen ten opzichte
van het gebruik van een struct
met losse functies. Dit
wordt uitgelegd op pagina 19 en 20 van het dictaat. Breuk
die in paragraaf
2.3 van het dictaat wordt gegeven. Deze versie heeft
constructors (waarmee een Breuk
aangemaakt en
meteen geïnitialiseerd kan worden), vraagfunctie (weermee je
iets aan een Breuk
kunt vragen, bijvoorbeeld: "Wat is de
waarde van je teller?") en doefuncties (waarmee je iets met een
Breuk
kunt doen waardoor zijn waarde kan veranderen,
bijvoorbeeld: "Tel deze Breuk
bij jezelf op."). Breuk
die in paragraaf
2.11 van het dictaat wordt gegeven. Deze versie maakt gebruik van
operator overloading. De hier gedefinieerde
operator+=
voor het zelfgedefinieerde type
Breuk
gedraagt zich echter niet exact hetzelfde als de
operator+=
van het ingebouwde type int
. const ... &
parameter te
gebruiken. int
geen
Breuk
kunt optellen als je de operator+
als
een member van Breuk
definieert zoals uitgelegd wordt in
paragraaf 2.22 van het dictaat. Hoe je er voor kan zorgen dat je bij
een int
wel een Breuk
kunt optellen wordt
uitgelegd in paragraaf 2.23 van het dictaat. operator+
te definiëren. Je
kunt ook slechts één globale operator+ definiëren zie onderstaande
programma (Breuk3.cpp). Breuk
uit
paragraaf 2.26 van het dictaat. MemoryCell
kunt verpreiden zonder dat de programmeur die
deze component gaat gebruiken (in Memappl.cpp) de beschiking heeft over
de source code (Memcell.cpp) van deze component. swap
functie die in paragraaf 3.1 van het
dictaat wordt besproken. De functie wordt generiek gemaakt door het
gebruik van een template functie. Dozijn
waarin 12 integers opgeslagen kunnen
worden. Zie paragraaf 3.2 van het dictaat. Dozijn
waarin 12 elementen van een
bepaald type kunnen worden opgeslagen. De class is generiek gemaakt
door het gebruik van een template class. Zie paragraaf 3.3 van
het dictaat. std::array
template
class kunt gebruiken. Deze class wordt in C++ vaak gebruikt op plaatsen
waar in C een array wordt gebruikt. Zie paragraaf 3.7 van het dictaat.
std::vector
template class kunt gebruiken. Deze class wordt in C++ vaak gebruikt op
plaatsen waar je een array wilt gebruiken maar waarvan je niet tijdens
het compileren weet hoeveel elementen de array moet bevatten. Een
std::vector
kan tijdens het uitvoeren van het programma
groeien en krimpen. Zie paragraaf 3.8 van het dictaat.
doIt
) hoeven niet gewijzigd te
worden. Ze hoeven zelfs niet opnieuw gecompileerd te worden! std::vector
kunt opslaan
(door polymorfe pointers te gebruiken). int
array kunt maken (beter dan het ingebouwde array
type). operator[]
te
definiëren. static
datamember kunt gebruiken om Hond
objecten te tellen. const
kunt maken. string
en iostream
.