eigenen Datentyp in c++ anlegen



  • Hallo Zusammen. Wie kann ich einen eigenen Datentyp anlegen nach folgender Aufgabenstellung:
    Datentyp mit dem Name: zahl.

    Für den neuen Datentyp zahl sollten Sie dann eine Multiplikation implementieren,
    die einen großen Wert vom Typ zahl mit einem kleinen Wert vom Typ: int multipliziert.

    Danke für eure Hilfe



  • @steven-w

    Sowas implementierst du wohl am Besten als eigene Klasse, die intern iwie einen numerischen Wert ablegt. Was sich der Aufgabensteller da genau vorstellt weiß ich nicht, sollt ihr eine eigene BigInt Klasse implementieren? Am einfachsten ist wohl ein interner uint64_t, ab ob das den Anforderungen genügt kann ich nicht sagen.

    class zahl
    {
        // iwie Wert ablegen (uint64_t? std::string?)
    
    public:
       zahl() = default;
       zahl( int value )
       {
          // konvertiere value in das interne Format
       }
    
       // operator* als friend deklarieren, damit in der eigentlichen Funktion auf den Wert zugegriffen werden kann
       friend zahl operator*( zahl const& op1, int op2 );
    };
    
    zahl operator*( zahl const& op1, int op2 )
    {
        zahl retval = /*bestimme Wert für das Ergebnis der Multiplikation*/
        return retval;
    }
    
    int main()
    {
       zahl z1( 3 );
       zahl z2 = z1 * 7;
    }
    

    Hier findest du mehr Informationen zum Überladen von Operatoren


Anmelden zum Antworten