// student.hh // Declarations from §5.2 and §6.4 // // GH: I had to change "long long int matrikel" into // into "long int matrikel" because // the most recent g++ compiler (3.0.1) // doesn't its output // "no match for `std::istream& >> long long int&' operator" //----------------------- Student ---------------------------- // Original structure struct Student { long int matrikel; int skz; char name[30], vorname[20]; }; //--------------------- Student_Mult ------------------------- // variable # skz const int MAX_SKZ = 5; struct Student_Mult { long int matrikel; int skz[MAX_SKZ]; char name[30], vorname[20]; int num_skz; }; //----------------------- Student2 --------------------------- // dynamic length of name, vorname struct Student2 { long int matrikel; int skz; char *pname, *pvorname; // Pointers in structure }; // Copy function for Student2 void Copy_Student2(Student2& lhs, const Student2& rhs);