dynamic_castAlleen bruikbaar bij polymorfe klassen (klassen met minstens één virtual functie).
Voorbeeld:
Persoon* pp = new Student();
if (Student* s = dynamic_cast<Student*>(pp)) {
s->set_snr(40982);
}
Als het geen Student is, wordt nullptr teruggegeven.
static variabeleGedeeld door alle objecten van dezelfde klasse.
Moet buiten de klasse gedefinieerd worden.
Voorbeeld:
class Hond {
public:
static int aantalHonden;
};
int Hond::aantalHonden = 0; // Definitie buiten de klasse
Wordt gebruikt wanneer je alleen een pointer of verwijzing naar een klasse nodig hebt.
Voorkomt circulaire afhankelijkheden.
Voorbeeld:
class Controller; // Forward declaration
class Gui {
private:
Controller* ctr;
};
std::unique_ptr<T>