Thuis
Contacten

    Hoofdpagina


Programmeren in C++ voor beginners

Dovnload 5.04 Mb.

Programmeren in C++ voor beginners



Pagina45/49
Datum25.10.2017
Grootte5.04 Mb.

Dovnload 5.04 Mb.
1   ...   41   42   43   44   45   46   47   48   49

Klasse definitie en declaratie scheiden

Ons Form heeft de klasse definitie en declaratie gescheiden. Dat kunnen wij ook. Onderstaande triviale klasse kunnen we uit elkaar trekken, zie de code daaronder.


//Een klasse definitie

struct MijnKlasse

{

MijnKlasse() : mX(0) {}



void SetX(const int x) { mX = x; }

int GetX() const { return mX; }

private:

int mX;

};
//Een klasse declaratie



struct MijnKlasse

{

MijnKlasse();



void SetX(const int x);

int GetX() const;

private:

int mX;

};
//Methode definities

MijnKlasse::MijnKlasse()

: mX(0)


{
}
void MijnKlasse::SetX(const int x)

{

mX = x;



}
int MijnKlasse::GetX() const

{

return mX;

}
Merk op dat een methode definitie hetzelfde is als een functie definitie, behalve dat voor de naam van de methode er 'MijnKlasse::' voor moet worden geschreven. Zo kan de compiler zien dat dit geen functie is, maar een methode.
De klasse declaratie staat vaak in een header (.h) file, de methode definities in implementatie (.cpp) bestanden.

    1. Verschil tussen class en struct

Onderstaande twee stukken code zijn equivalent:


class MijnKlasse

{

public:

//Code

};
struct MijnKlasse



{

//Code


};
Het keyword struct geeft een klasse aan, waarbij de bovenste sectie standaard public is. class zet de bovenste sectie standaard op private. Omdat vaak het public gedeelte bovenaan een klasse staat, is struct simpelweg minder typwerk.




De variabelen in een class zijn standaard private, omdat het afschermen van data een van de belangrijkste taken van een klasse is.






De variabelen in een struct zijn standaard public om compatibel met C te blijven.

Zowel een struct als een class worden een klasse genoemd. Het keyword struct bestond al in C, als een bundeling van variabelen (bijvoorbeeld de struct Coordinaat!). Een struct zonder methoden wordt soms een 'C-style struct' genoemd, of een 'POD-object' ('Plain Old Data'-object).


1   ...   41   42   43   44   45   46   47   48   49

  • Verschil tussen class en struct

  • Dovnload 5.04 Mb.