Heim > Backend-Entwicklung > C++ > Hauptteil

Wie implementiert man generische Klassen in C++?

王林
Freigeben: 2024-06-06 13:13:57
Original
578 Leute haben es durchsucht

Implementierung generischer Klassen in C++: Verwendung von Vorlagen und Platzhaltern für bestimmte Typen. Erstellen Sie eine Instanz einer generischen Klasse und geben Sie dabei Typparameter an. Generische Klassen ermöglichen die Verwendung desselben Codes für verschiedene Datentypen. Praktische Anwendung: Verwenden Sie die generische StudentArray-Klasse, um verschiedene Arten von Daten zu speichern und zu verarbeiten, z. B. Studentennamen.

Wie implementiert man generische Klassen in C++?

So implementieren Sie generische Klassen in C++

Mit generischen Klassen können Sie Code erstellen, der verschiedene Datentypen basierend auf Typparametern ohne Änderung verwenden kann. So implementieren Sie eine generische Klasse in C++:

#include <iostream>

template <typename T>
class GenericClass {
public:
    GenericClass(T value) : val(value) {}
    void print() {
        std::cout << "Value: " << val << std::endl;
    }
private:
    T val;
};
Nach dem Login kopieren

In diesem Beispiel ist GenericClass 是一个泛型类,T ein Platzhalter für den Typ. Sie können eine Instanz einer generischen Klasse erstellen, indem Sie Typparameter angeben. Zum Beispiel:

GenericClass<int> intClass(10);
GenericClass<std::string> strClass("Hello");

intClass.print();  // 输出:“Value:10”
strClass.print();  // 输出:“Value:Hello”
Nach dem Login kopieren

Praktischer Fall:

Betrachten Sie ein Array mit Schülernamen. Wir können generische Klassen verwenden, um verschiedene Datentypen zu speichern und zu verarbeiten, zum Beispiel:

template <typename T>
class StudentArray {
public:
    StudentArray(size_t size) : arr(new T[size]) {}
    void add(T name, int index) {
        arr[index] = name;
    }
    void print() {
        for (size_t i = 0; i < size(); ++i) {
            std::cout << "Student " << (i + 1) << ": " << arr[i] << std::endl;
        }
    }
    size_t size() {
        return size_;
    }
private:
    T* arr;
    size_t size_;
};

int main() {
    StudentArray<std::string> names(5);

    names.add("John", 0);
    names.add("Jane", 1);
    names.add("Peter", 2);
    names.add("Susan", 3);
    names.add("Thomas", 4);

    names.print();
}
Nach dem Login kopieren

Dieser Code erstellt ein generisches Array mit 5 Zeichenfolgen. Es besteht die Möglichkeit, Schülernamen hinzuzufügen und auszudrucken.

Das obige ist der detaillierte Inhalt vonWie implementiert man generische Klassen in C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage