Advertisement
onihime

Struct_jessica

Apr 19th, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct People
  7. {
  8.     std::string name;
  9.     unsigned long long CPF; /*mudei para long, mas ainda estΓ‘ imprimindo errado*/
  10.     int age;
  11.  
  12.     void operator=(const People& elm){ name = elm.name; CPF = elm.CPF; age = elm.age; };
  13.     /*key: age*/
  14.     bool operator<(const People& elm) { return (age <  elm.age); };
  15.     bool operator>(const People& elm) { return (age >  elm.age); };
  16.     bool operator<=(const People& elm){ return (age <= elm.age); };
  17.     bool operator>=(const People& elm){ return (age >= elm.age); };
  18.     bool operator==(const People& elm){ return (age == elm.age); };
  19.     People operator++(int){ return{ name, CPF, age++ }; }; /*overloaded postfix ++ operator*/
  20.     friend std::ostream& operator<<(std::ostream& os, const People& p){
  21.         os << "Name: " << p.name << '\n'
  22.            << "CPF: "  << p.CPF << '\n'
  23.            << "Age: "  << p.age << "\n";
  24.         return os;
  25.     };
  26. };
  27.  
  28.  
  29. int main()
  30. {
  31.     People a,b,c,d,e;
  32.     a.name = "Ana Julia Moraes Neto";
  33.     a.CPF = 25698741033;
  34.     a.age = 15;
  35.  
  36.     b.name = "Ana Julia Cutrim Soares";
  37.     b.CPF = 25465464897;
  38.     b.age = 17;
  39.  
  40.     c.name = "Rafael Silva Martins";
  41.     c.CPF = 64564568721;
  42.     c.age = 13;
  43.  
  44.     d.name = "Pedro Silva Martins";
  45.     d.CPF = 11111111111;
  46.     d.age = 18;
  47.  
  48.     e.name = "Julio Farias Freitas";
  49.     e.CPF = 120148540589;
  50.     e.age = 16;
  51.    /*---------------------------------------*/
  52.  
  53.     vector<People> p = { a, b, c, d, e };
  54.  
  55.     vector<People>::iterator it = p.begin(), endIt = p.end();
  56.     while (it != endIt)
  57.     {
  58.         cout << *it << endl;
  59.         ++it;
  60.     }
  61.  
  62.  
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement