Advertisement
Guest User

ddd.cpp

a guest
May 30th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #include "std_lib_facilities.h"
  2.  
  3. class student {
  4. private:
  5. int mnr;
  6. public:
  7. student(int);
  8. void print(void);
  9. };
  10.  
  11. student::student(int mnr) { this->mnr = mnr;}
  12. void student::print(void) { cout <<mnr<<endl;}
  13.  
  14.  
  15. class group {
  16. private:
  17. int size;
  18. vector<student> participants;
  19. public:
  20. group(void);
  21. group(student);
  22. void addStudent(student);
  23. void listAll();
  24. int getSize();
  25. friend group operator+ (group a, group b); };
  26.  
  27.  
  28. group::group(void) {}
  29. group::group(student stud) {participants.push_back(stud);}
  30. void group::addStudent(student stud) {participants.push_back(stud);}
  31.  
  32. void group::listAll()
  33. {
  34. if(getSize()==0) {throw length_error( "vector is empty");}
  35. else {
  36.  
  37. for( auto i : participants)
  38. {cout << i<<endl; }
  39.  
  40. }
  41.  
  42. }
  43.  
  44. int group::getSize() { return participants.size(); }
  45.  
  46. group operator+(group a, group b)
  47. {
  48. group ab();
  49. ab.reserve( a.size(), b.size());
  50. ab.insert(ab.begin(), a.begin(), a.end());
  51. ab.insert(ab.end(), b.begin(), b.end());
  52.  
  53. return ab;
  54.  
  55.  
  56. }
  57.  
  58. int main() {
  59. group a(student(1234567)), b(student(7654321));
  60. group myGroup = a + b;
  61. try {
  62. myGroup.listAll();
  63. } catch (string error) {
  64. cerr << error << endl; }
  65. return 0; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement