[ C++ ] Frage

06/16/2011 12:30 .Infinity#1
Old:


Lösung gefunden.

String.
06/16/2011 13:02 xNopex#2
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.
06/16/2011 13:36 Xenox3#3
@xNopex

Ob diese Variante für einen Programmieranfännger ( entschuldige wenn du keiner bist) die Sache erleichtert wage ich zu bezweifeln.
06/16/2011 14:32 xNopex#4
Quote:
Originally Posted by Xenox3
Ob diese Variante für einen Programmieranfännger ( entschuldige wenn du keiner bist) die Sache erleichtert wage ich zu bezweifeln.
Iwann muss er das ja lernen. Warum also nicht jetzt?
06/16/2011 14:49 ZackBlack#5
Pair aus der STL würde auch gehen...