Advertisement
Guest User

OOP_6 OperatorOverriding

a guest
Sep 1st, 2015
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. /*შექმენით კლასი სტუდენტი ველებით:
  2. სახელი, გვარი, ასაკი, პირადი ნომერი.
  3.  
  4. გადატვირთეთ კონსოლიდან შეტანის და კონსოლში გამოტანის ოპერატორები.
  5.  
  6. შექმენით Student-ების ვექტორი და იპოვეთ ყველაზე ახალგაზრდა და
  7. ყველაზე დიდი სტუდენტი, დაბეჭდეთ ინფორმაცია მათ შესახებ*/
  8.  
  9. #include <iostream>
  10. #include <string>
  11. #include <vector>
  12.  
  13. using namespace std;
  14.  
  15. class Student{
  16. private:
  17.     string name;
  18.     string surname;
  19.     int age;
  20.     string personalN;
  21. public:
  22.     Student(){}
  23.     int get_age();
  24.     friend istream& operator>>(istream& in, Student &student);
  25.     friend ostream& operator<<(ostream& out, Student &student);
  26. };
  27.  
  28. int Student::get_age(){
  29.     return age;
  30. }
  31.  
  32. istream& operator>> (istream& in, Student &student){
  33.     cout << "Enter NAME  SURNAME   AGE   PERSONAL_NUMBER" << endl;
  34.     in >> student.name >> student.surname >> student.age >> student.personalN;
  35.     return in;
  36. }
  37.  
  38. ostream& operator<<(ostream& out, Student &student){
  39.     cout << "Student Name : " << student.name << endl;
  40.     cout << "Student Surname : " << student.surname << endl;
  41.     cout << "Student Age : " << student.age << endl;
  42.     cout << "Student Personal Number : " << student.personalN << endl;
  43.     return out;
  44. }
  45.  
  46. int main(){
  47.  
  48.     vector<Student> students;
  49.  
  50.     Student temp;
  51.     while (cin >> temp){
  52.         students.push_back(temp);
  53.     }
  54.  
  55.     Student* maxAgePtr = &students[0], *minAgePtr = &students[0];
  56.  
  57.     for (int i = 1; i < students.size(); i++){
  58.         if (students[i].get_age() < minAgePtr->get_age()){
  59.             minAgePtr = &students[i];
  60.         }
  61.  
  62.         if (students[i].get_age() > maxAgePtr->get_age()){
  63.             maxAgePtr = &students[i];
  64.         }
  65.     }
  66.  
  67.  
  68.     cout << "Information about youngest" << endl;
  69.     cout << *minAgePtr << endl;
  70.  
  71.     cout << "Information about oldest" << endl;
  72.     cout << *maxAgePtr << endl;
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement