Anstatt std::string zu verwenden, kannst du dir auch eine eigene Klasse schreiben, die dir die Sache deutlich erleichtert:
Code:
class int2
{
private:
int numbers[2];
public:
int2(int i1, int i2)
{
numbers[0] = i1;
numbers[1] = i2;
}
int2()
{
numbers[0] = 0;
numbers[1] = 0;
}
friend ostream& operator<<(ostream& stream, int2 doppelZahl)
{
stream << doppelZahl.numbers[0] << ", " << doppelZahl.numbers[1];
return stream;
}
friend istream& operator>>(istream& stream, int2& iDoppel)
{
string doppelZahl;
getline(cin, doppelZahl);
unsigned int seperator = doppelZahl.find(",");
string strZahl1 = doppelZahl.substr(0, seperator);
string strZahl2 = doppelZahl.substr(seperator+1);
istringstream s;
s.str(strZahl1);
s >> iDoppel.numbers[0];
s.clear();
s.str(strZahl2);
s >> iDoppel.numbers[1];
return stream;
}
};
Zusätzlich noch Operatoren für Addition, Substraktion, usw. überladen, nach deinen Vorstellungen eben und dann passt das.