fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4.  
  5. class Class {
  6. public:
  7. void setA(std::string s) {std::cout << "A: " << s << std::endl;}
  8. void setB(std::string s) {std::cout << "B: " << s << std::endl;}
  9. void setC(std::string s) {std::cout << "C: " << s << std::endl;}
  10. void setD(std::string s) {std::cout << "D: " << s << std::endl;}
  11.  
  12. friend std::istream& operator>>(std::istream & input, Class cObj);
  13. };
  14.  
  15. std::istream& operator>>(std::istream & input, Class cObj)
  16. {
  17. std::string temp;
  18. while(temp!="TEST6"){
  19. getline(input, temp, ',');
  20. if(temp=="TEST1") cObj.setA(temp);
  21. if(temp=="TEST3") cObj.setB(temp);
  22. if(temp=="TEST5") cObj.setC(temp);
  23. if(temp=="TEST6") cObj.setD(temp);
  24. }
  25.  
  26. return input;
  27. }
  28.  
  29. int main() {
  30. std::stringstream ss("TEST1,TEST2,TEST3,TEST4,TEST5,TEST6");
  31. Class classObj;
  32. ss >> classObj;
  33. std::cout << "Done" << std::endl;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 4304KB
stdin
Standard input is empty
stdout
A: TEST1
B: TEST3
C: TEST5
D: TEST6
Done