diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Prog2/Codebeispiele/Student/Student.cpp | |
| download | Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2 | |
Diffstat (limited to 'Bachelor/Prog2/Codebeispiele/Student/Student.cpp')
| -rw-r--r-- | Bachelor/Prog2/Codebeispiele/Student/Student.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Bachelor/Prog2/Codebeispiele/Student/Student.cpp b/Bachelor/Prog2/Codebeispiele/Student/Student.cpp new file mode 100644 index 0000000..d58d6df --- /dev/null +++ b/Bachelor/Prog2/Codebeispiele/Student/Student.cpp @@ -0,0 +1,49 @@ +// Student.cpp: Implementation of class Student.
+
+#include <iostream>
+using std::cout;
+using std::endl;
+using std::istream;
+using std::ostream;
+
+#include <string>
+using std::string;
+using std::getline;
+
+#include "Student.h"
+
+Student::Student()
+{
+}
+
+Student::~Student()
+{
+}
+
+void Student::set( string n, int m, int a )
+{
+ name = n;
+ matNr = m;
+ age = a;
+}
+
+void Student::print()
+{
+ cout << name << ", Matrikelnummer: " << matNr << ", Alter: " << age << endl;
+}
+
+ostream& Student::write( std::ostream& os ) const
+{
+// os.write( ( char* )&matNr, sizeof matNr ); // stores '578111' as an int in 4 Bytes
+// os << matNr; // stores '578111' as ASCII-Code in 6 Bytes!
+ os << name << '\0'; // write string
+ os.write( ( char* ) &matNr, 2 * sizeof( int ) ); // write 2 int starting at address of matNr
+ return os;
+}
+
+istream& Student::read( std::istream& is )
+{
+ getline( is, name, '\0' ); // read string
+ is.read( ( char* ) &matNr, 2 * sizeof( int ) ); // read 2 int starting at address of matNr
+ return is;
+}
\ No newline at end of file |
