fork download
  1. #include <iostream>
  2. #include <stack>
  3. #include <string>
  4. using namespace std;
  5.  
  6. class Data {
  7. public:
  8. Data(): intVariable(0), stringVariable("") { ; }
  9. Data(int iVal, const string& sVal):
  10. intVariable(iVal),
  11. stringVariable(sVal)
  12. {
  13. ;
  14. }
  15.  
  16. Data(const Data& d):
  17. intVariable(d.intVariable),
  18. stringVariable(d.stringVariable)
  19. {
  20. ;
  21. }
  22.  
  23. friend ostream& operator<<(ostream& out, const Data& d) {
  24. return out << "-> " << d.intVariable << "\t" << d.stringVariable;
  25. }
  26.  
  27. friend istream& operator>>(istream& in, Data& d) {
  28. return in >> d.intVariable >> d.stringVariable;
  29. }
  30.  
  31. private:
  32. int intVariable;
  33. string stringVariable;
  34. };
  35.  
  36. int main() {
  37.  
  38. stack<Data> myStack;
  39. Data temp;
  40. while(cin >> temp) {
  41. myStack.push(temp);
  42. }
  43.  
  44. while (!myStack.empty()) {
  45. cout << myStack.top() << endl;
  46. myStack.pop();
  47. }
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 3436KB
stdin
14289012 jasf;haf
123 djaskda
123 mat
4904 jojojo
421 dziala
stdout
-> 421	dziala
-> 4904	jojojo
-> 123	mat
-> 123	djaskda
-> 14289012	jasf;haf