Heim > Backend-Entwicklung > C++ > Wie definiere ich eine C++-Vorlagenklasse?

Wie definiere ich eine C++-Vorlagenklasse?

WBOY
Freigeben: 2024-06-05 14:28:01
Original
489 Leute haben es durchsucht

Mit Vorlagenklassen können Entwickler wiederverwendbaren Code erstellen, den Typparameter als Vorlagenparameter in spitzen Klammern angeben und beim Instanziieren den tatsächlichen Typ angeben Arten von Daten.

Wie definiere ich eine C++-Vorlagenklasse?

So definieren Sie eine C++-Vorlagenklasse

Template ist ein leistungsstarkes Tool in C++, mit dem Sie wiederverwendbaren Code erstellen können, ohne für jeden Typ eine separate Klasse oder Funktion schreiben zu müssen. In diesem Artikel erfahren Sie, wie Sie eine C++-Vorlagenklasse definieren.

Syntax

Die Syntax zum Definieren einer Vorlagenklasse lautet wie folgt:

template<typename T>
class ClassName {
    // 模板类的代码
};
Nach dem Login kopieren

wobei T ein Typparameter ist, was bedeutet, dass die Vorlagenklasse mit jedem Typ verwendet werden kann. T 是一个类型参数,它表示模板类可以与任何类型一起使用。

实例

让我们创建一个模板类,它可以存储和打印任何类型的数据:

template<typename T>
class ValueHolder {
public:
    ValueHolder(T value) : value(value) {}

    void printValue() {
        std::cout << value << std::endl;
    }
private:
    T value;
};
Nach dem Login kopieren

现在,我们可以在代码中使用 ValueHolder 模板类:

int main() {
    ValueHolder<int> intHolder(42);
    intHolder.printValue();  // 输出:42

    ValueHolder<std::string> stringHolder("Hello, world!");
    stringHolder.printValue();  // 输出:Hello, world!

    return 0;
}
Nach dem Login kopieren

在这里,我们创建了两个 ValueHolder 实例:一个用于 int 类型,另一个用于 std::string

Instance

Erstellen wir eine Vorlagenklasse, die jede Art von Daten speichern und drucken kann:
    rrreee
  • Jetzt können wir die Vorlagenklasse ValueHolder in unserem Code verwenden:
  • rrreee
  • Hier: Wir erstellen zwei ValueHolder-Instanzen: eine für den Typ int und eine weitere für den Typ std::string. Beide Instanzen sind in der Lage, Werte ihres entsprechenden Typs zu speichern und zu drucken.
  • Einschränkungen in Vorlagenklassen
🎜🎜🎜Bei Vorlagenklassen dürfen Vorlagenparameter nur Typen sein, keine Variablen oder Konstanten. 🎜🎜Template-Parameter müssen im Rahmen der Template-Klasse verwendet werden. 🎜🎜Alle Instanzen in einer Vorlagenklasse müssen die gleichen Typparameter haben. 🎜🎜

Das obige ist der detaillierte Inhalt vonWie definiere ich eine C++-Vorlagenklasse?. 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