---
title: "Arv, Superklass och Subklasser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/127942-arv-superklass-och-subklasser"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "axel_k1990"
published: "2005-05-10T12:14:30.000Z"
updated: "2005-05-18T13:07:58.000Z"
replies: 6
views: 529
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/127942-arv-superklass-och-subklasser"
---

# Arv, Superklass och Subklasser

## #1 — axel_k1990, 2005-05-10T12:14Z

Hej! Jag har gjort klassen Person. Detta ska nu vara en superklass och det ska finnas två subklasser. Dessa ska vara klassen Lärare och klassen Elev. Lärare ska  ha samma egenskaper som Person, men förutom det så har han en lön, och Eleven ska också ha samma egenskaper, med med bidrag istället för lön. Det skall gå att ändra lönen via metoder. Hur ska man göra för att få ihop detta. Hoppas nån kan hjälpa mig. Koden till klassen Person ser ut så här:

\#include \<string\>
using namespace std;

class Person {
private:
 string fnamn;   
 string enamn;   
 string gatuadr; 
 string postadr; 
 int postnr;
 int telnr;

public:
 Person(string f, string e, string g, int pn, string pa, int t) {
  fnamn = f;
  enamn = e;
  gatuadr = g;
  postnr = pn; 
  postadr = pa;
  telnr = t;

 }
};

int main() {
 Person \*p;
 p = new Person("Sven", "Karlsson", "Drottninggatan 5", 25486, "Mjölby", 032122231);
  
}

Permalänk: https://www.webforum.nu/p/127942

## #2 — PeW, 2005-05-10T12:45Z

Känns ju verkligen som en skoluppgift. Läs på om arv  ;)

Permalänk: https://www.webforum.nu/p/1607821

## #3 — axel_k1990, 2005-05-10T13:53Z

Det är ingen skoluppgift. Jag går i nian. Vi läser inte C++ i skolan än.

Permalänk: https://www.webforum.nu/p/1607844

## #4 — PeW, 2005-05-10T15:44Z

Okej. Men nån form av bok har du väl? Exemplet är ju som taget ur en kurslitteratur...  det du ivf ska göra är att du låter klasserna Elev och Lärare ärva från Person och sen lägger du till de utökade egenskaperna på respektive klass. 

Det finns mängder med länkar om grundläggande C++, här är en:
<http://www.idt.mdh.se/kurser/cd5250/msl01/msl02/lessons.html>

Permalänk: https://www.webforum.nu/p/1607875

## #5 — verifier, 2005-05-18T12:28Z

```
class Larare : public Person
{
public:
  void SetLon(int lon);
  int GetLon() const;

private:
  int m_lon;
}
```

Permalänk: https://www.webforum.nu/p/1613891

## #6 — Sang-drax, 2005-05-18T13:06Z

Nej, det blir inte så bra. Lärare måste ha en konstruktor också.

```
class Lärare : public Person
{
public:
  Lärare(string f, string e, string g, int pn, string pa, int t, int _lön) :
     Person(f,e,g,pn,pa,t),
     lön(_lön) 
     {}
  
  void setLön(int lön);  //Inte så krångliga att implementera
  int getLön() const;

private:
  int lön;
}
```

Permalänk: https://www.webforum.nu/p/1613900

## #7 — verifier, 2005-05-18T13:07Z

true. Kollade aldrig om Person hade annat än default konstruktorn =)

Permalänk: https://www.webforum.nu/p/1613902

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/127942-arv-superklass-och-subklasser
