Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich die C++-Vorlagenvererbung?

Wie verwende ich die C++-Vorlagenvererbung?

WBOY
WBOYOriginal
2024-06-06 10:33:17767Durchsuche

C++-Vorlagenvererbung ermöglicht von Vorlagen abgeleiteten Klassen die Wiederverwendung des Codes und der Funktionalität der Basisklassenvorlage, die sich zum Erstellen von Klassen mit derselben Kernlogik, aber unterschiedlichen spezifischen Verhaltensweisen eignet. Die Vorlagenvererbungssyntax lautet: template abgeleitet: public Base Beispiel: template class Base { }; template Praktischer Fall: Erstellt die abgeleitete Klasse Derived, erbt die Zählfunktion der Basisklasse Base und fügt die printCount-Methode hinzu, um die aktuelle Zählung zu drucken.

Wie verwende ich die C++-Vorlagenvererbung?

C++-Vorlagenvererbung

Mit der Vorlagenvererbung können Sie den Code und die Funktionalität einer Basisklassenvorlage in einer abgeleiteten Klasse wiederverwenden. Dies ist nützlich, um Klassen zu erstellen, die dieselbe Kernlogik haben, aber unterschiedliche spezifische Verhaltensweisen aufweisen.

Syntax

template<typename T>
class Base {
  // 基类模板代码
};

template<typename T>
class Derived : public Base<T> {
  // 派生类模板代码
};

Instanzen

Angenommen, wir haben die folgende Base-Vorlagenklasse, die einen einfachen Zähler implementiert: Base 模板类,它实现了简单的计数器:

template<typename T>
class Base {
public:
    Base() : count(0) {}
    void increment() { ++count; }
    T getCount() const { return count; }
    
private:
    T count;
};

现在,我们想创建一个 Derived 类,它继承了 Base 的计数功能,但还增加了打印当前计数的附加方法:

template<typename T>
class Derived : public Base<T> {
public:
    void printCount() const { cout << "Count: " << getCount() << endl; }
};

实战案例

以下是使用 C++ 模板继承的实战案例:

#include <iostream>

int main() {
    Derived<int> counter;
    counter.increment();
    counter.increment();
    counter.printCount(); // 输出: Count: 2
    
    return 0;
}

在这个示例中,我们创建了一个 C++ 模板继承的 Derived 类实例,它提供了 Base 类的计数功能,并增加了 printCountrrreee

Jetzt wollen wir einen Derived code>-Klasse, die die Zählfunktion von <code>Base erbt, aber auch eine zusätzliche Methode zum Drucken der aktuellen Zählung hinzufügt: 🎜rrreee🎜🎜Praktischer Fall🎜🎜🎜Das Folgende ist ein praktischer Fall mit C++-Vorlagenvererbung:🎜 rrreee🎜In diesem Beispiel erstellen wir eine Instanz der von der C++-Vorlage geerbten Klasse Derived, die die Zählfunktion der Klasse Base bereitstellt und hinzufügt printCount-Methode zum Drucken der aktuellen Anzahl. 🎜

Das obige ist der detaillierte Inhalt vonWie verwende ich die C++-Vorlagenvererbung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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