summaryrefslogtreecommitdiffstats
path: root/fortgeschritten/01_Klassen/Person.h
diff options
context:
space:
mode:
Diffstat (limited to 'fortgeschritten/01_Klassen/Person.h')
-rw-r--r--fortgeschritten/01_Klassen/Person.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/fortgeschritten/01_Klassen/Person.h b/fortgeschritten/01_Klassen/Person.h
new file mode 100644
index 0000000..9109ac6
--- /dev/null
+++ b/fortgeschritten/01_Klassen/Person.h
@@ -0,0 +1,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_
+