Generic Programming


Templates in C++ hilfen uns generische Programmierung zu implementieren. Die Swap Funktion aus dem letzten Turorial ist mächtig genug jede Art von Datentyp zu unterstützen.

Im unteren Code, kann die Swap Funktion so wie sie ist, benutzt werden, um Integer Zahlen zu vertauschen.

#include <iostream>
using namespace std;

template<typename T>
void Swap(T &a, T &b)
{
    T temp = a;
    a = b;
    b = temp; 
}

int main()
{
    string hello = "Welt!", world = "Hallo, ";
    Swap(world, hello);
    cout << hello << world << endl;

    int a = 5, b = 11;
    Swap(a, b);
    cout << "a:" << a << " b:" << b << endl; 
    return 0;
}

Templates, Klassen und Operatorüberladung

Übung

Die Swap Funktion wird auch für Datentypen des Users funktionieren. Um das zu demonstrieren, implementieren wir die C++ Klasse Point mit den Koordinaten x und y. Erstelle 2 Objekte des Typs Point und tausche sie. Operatorüberladung für den = Operator muss ebenfalls implementiert werden.


Copyright © learn-cpp.org. Read our Terms of Use and Privacy Policy