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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#include <iostream>
#include <string>
/* Im letzten Teil haben wir std::string kennengelernt. Dieser Typ ist eine sogenannte Klasse. In diesem Teil lernen
* wir nun, wie wir selbst solche Typen definieren.
*/
// Wir wollen nun eine Klasse erstellen, die einen Eintrag einer Personen-Kartei darstellt
// Person ist der Name des Typs
class Person {
// Hier stehen Einträge, die nur innerhalb der Klasse verfügbar sind
private:
// Man kann in einer Klasse sowohl Variablen, als auch Funktionen, sogenannte Methoden, definieren
std::string name;
int alter;
// Dies sind Einträge, die von außen aufrufbar sind
public:
/* Dies sind sogenannte Konstruktoren, sie haben keinen Rückgabewert und den gleichen Namen wie die Klasse;
* sie werden beim erstellen einer neuen Variable vom Typ der Klasse benutzt
*/
Person();
Person(std::string n, int a);
void printName();
void setName(std::string n);
void printAlter();
void setAlter(int a);
};
/* Außerhalb der Klasse werden die Methoden dann mit Inhalt gefüllt; mit :: beschreibt man, zu welcher Klasse
* die Methoden gehören. Die Variablen der Klasse können dabei genauso benutzt werden wie die Variablen der Funktion
*/
Person::Person() {
name = "Unbekannt";
// -1 bedeutet bei uns jetzt, dass wir das Alter nicht wissen
alter = -1;
}
Person::Person(std::string n, int a) {
name = n;
alter = a;
}
void Person::printName() {
std::cout << "Der Name ist: " << name << std::endl;
}
void Person::setName(std::string n) {
name = n;
}
void Person::printAlter() {
if(alter < 0) std::cout << "Das Alter ist unbekannt." << std::endl;
else std::cout << "Das Alter ist: " << alter << std::endl;
}
void Person::setAlter(int a) {
alter = a;
}
int main() {
// Hier wird der Konstruktor Person() benutzt
Person p;
// Hier wird der Konstruktor Person(std::string n, int a) benutzt
Person p2("Hans", 20);
p.printName();
p.printAlter();
p2.printName();
p2.printAlter();
p.setName(std::string("Horst"));
p.setAlter(19);
p.printName();
p.printAlter();
return 0;
}
|