In dit WPO zullen we de basis leggen van complexe datatypes. Complexe datatypes laten toe om verschillende variabelen die bij elkaar horen onder te brengen in eenzelfde datacontainer. Een voorbeeld hiervan is een punt in 2D die uit een x- en een y-component bestaat.
De declaratie van een complex datatype (struct) voor een 2D punt wordt in onderstaand codefragment getoond.
public struct Point2D
{
public double x;
public double y;
}
Van hieruit kan een nieuwe variabele aangemaakt worden. Dit gebeurt als volgt:
// declare a point from the struct and make it new (think of an object)
Point2D p = new Point2D();
Waarden aan de subvariabelen toekennen verloopt op een gelijkaardige wijze als het toekennen van waarden aan gewone variabelen. Het enige verschil is dat men eerst de container moet aanspreken voordat men de subvariabele aanspreekt. Zie onderstaand codefragment.
p.x = 15;
p.y = 150;
De waarden uit deze variabele halen gebeurt op een omgekeerde werkwijze, nl.:
double xpos = p.x;
double ypos = p.y;
Merk op dat de variabele p hier steeds gedaclareerd en geïnstantieerd moet worden volgens het type van de struct. Alle velden (subvariabelen) van de struct worden ook public gedeclareerd zodat men er rechtstreeks via de code aankan.