From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog2/Codebeispiele/Student/Student.cpp | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Bachelor/Prog2/Codebeispiele/Student/Student.cpp (limited to 'Bachelor/Prog2/Codebeispiele/Student/Student.cpp') 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 +using std::cout; +using std::endl; +using std::istream; +using std::ostream; + +#include +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 -- cgit v1.2.3