fork download
  1. #include <string>
  2. #include <iostream>
  3.  
  4. class Person
  5. {
  6. public:
  7. friend std::ostream& operator<<(std::ostream&, const Person&);
  8. friend std::istream& operator>>(std::istream&, Person&);
  9. private:
  10. std::string name_;
  11. int age_;
  12. };
  13.  
  14. std::ostream& operator<<(std::ostream& os, const Person& p)
  15. {
  16. os << p.name_ << " " << p.age_;
  17. return os;
  18. }
  19.  
  20. std::istream& operator>>(std::istream& is, Person& p)
  21. {
  22. is >> p.name_;
  23. is >> p.age_;
  24. return is;
  25. }
  26.  
  27. int main()
  28. {
  29. Person person;
  30.  
  31. std::cout << "Reading person description from standard input" << std::endl;
  32. std::cin >> person;
  33.  
  34. std::cout << "Outputting back that person description to standard output" << std::endl;
  35. std::cout << person << std::endl;
  36. }
Success #stdin #stdout 0.01s 2816KB
stdin
Joe 35
stdout
Reading person description from standard input
Outputting back that person description to standard output
Joe 35