FAGPORTALEN

Klasser og OOP i C++

Computerspace · FGU · Programmering i C++

🏗️ Hvad er klasser og OOP i C++?

Objektorienteret programmering (OOP) organiserer kode i klasser – skabeloner der kombinerer data (attributter) og adfærd (metoder).

Klassedefinition:

```cpp

class Elev {

private:

std::string navn; // Private: kun tilgængelig indefra klassen

int alder;

public:

// Konstruktør – køres ved oprettelse

Elev(std::string n, int a) : navn(n), alder(a) {}

// Destruktør – køres ved sletning

~Elev() {}

// Getter-metoder (accessor)

std::string getNavn() const { return navn; }

int getAlder() const { return alder; }

// Setter-metoder

void setAlder(int a) { if (a > 0) alder = a; }

// Metode

void præsentér() const {

std::cout << "Jeg hedder " << navn << " og er " << alder << " år." << std::endl;

}

};

// Brug af klassen

Elev e("Anna", 19);

e.præsentér();

```

Nedarvning:

```cpp

class Person {

public:

std::string navn;

virtual void præsentér() { std::cout << "Person: " << navn; }

};

class Lærer : public Person {

public:

std::string fag;

void præsentér() override { // override er eksplicit

std::cout << "Lærer: " << navn << " underviser i " << fag;

}

};

```

Polymorfi med virtual:

```cpp

Person* p = new Lærer(); // Pointer til base class

p->præsentér(); // Kalder Lærer::præsentér() pga. virtual!

delete p;

```

---

🎓 Læringsmål for Klasser og OOP i C++

Læringsmål

Sådan kan du arbejde med emnet

⚠️ Typiske fejl at undgå

---

💡 Tips til at komme i gang

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.