summaryrefslogtreecommitdiffstats
path: root/fortgeschritten/01_Klassen/Person.h
blob: 9109ac699e39daf5fafe3516103908457e79cb5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Dies sind Präprozessorkommandos, die dafür sorgen, dass Person.h nur einmal eingebunden werden kann
#ifndef _PERSON_H_
#define _PERSON_H_

#include <string>


class Person {
  private:
    std::string name;
    int alter;
    
  public:
    Person();
    
    // Das & sorgt dafür, dass der String direkt übergeben und nicht kopiert wird, das macht das Programm schneller
    // const heißt, dass n nicht verändert wird in der Methode
    Person(const std::string &n, int a);
    
    void printName();
    void setName(const std::string &n);
    
    // Einfache Methoden können direkt in die Klassendefinition geschrieben werden
    // Normalerweise gibt es in einer Klasse zu jeder Eigenschaft eine get- und eine set-Methode
    std::string getName() {
      return name;
    }
    
    void printAlter();
    void setAlter(int a);
    
    int getAlter() {
      return alter;
    }
};

#endif //_PERSON_H_