Is this what you are trying to do ?
Code:
#include <iostream>
#include <vector>
using std::cout;
using std::cin;
using std::endl;
using std::vector;
class inputter { // just a dummy to satisfy operator >>
};
class Set {
public:
void push_back (int x) { cout << "entered " << x << " into Set." << endl; v.push_back(x); }
void print() { for ( vector<int>::iterator i = v.begin(); i != v.end(); ++i ) cout << "age=" << *i << endl; }
vector<int> v;
};
inputter & operator >> (inputter & enter_age, Set& info_set) {
int x ;
cout << "Enter your age " ;
cin >> x;
info_set.push_back (x) ;
return enter_age;
}
int main() {
inputter enter_age;
Set info_set ;
// enter 3 values into info_set
enter_age >> info_set >> info_set >> info_set;
info_set.print();
return 0;
}
It shure looks strange to use operator >> this way.
Kurt