Maison >développement back-end >C++ >Comment utiliser l'héritage de modèles C++ ?

Comment utiliser l'héritage de modèles C++ ?

WBOY
WBOYoriginal
2024-06-06 10:33:17799parcourir

L'héritage de modèle C++ permet aux classes dérivées d'un modèle de réutiliser le code et les fonctionnalités du modèle de classe de base, ce qui convient à la création de classes avec la même logique de base mais des comportements spécifiques différents. La syntaxe d'héritage du modèle est : template class Derived : public Base Exemple : modèle class Base { }; template Cas pratique : création de la classe dérivée Derived, héritage de la fonction de comptage de la classe de base Base et ajout de la méthode printCount pour imprimer le décompte actuel.

Comment utiliser lhéritage de modèles C++ ?

Héritage de modèles C++

L'héritage de modèles vous permet de réutiliser le code et les fonctionnalités d'un modèle de classe de base dans une classe dérivée. Ceci est utile pour créer des classes partageant la même logique de base mais ayant des comportements spécifiques différents.

Syntaxe

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

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

Exemple

Supposons que nous ayons la classe de modèle Base suivante, qui implémente un compteur simple : 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

Maintenant, nous voulons créer un Derived code>, qui hérite de la fonction de comptage de <code>Base, mais ajoute également une méthode supplémentaire pour imprimer le décompte actuel : 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Ce qui suit est un cas pratique utilisant Héritage de modèle C++ :🎜 rrreee🎜Dans cet exemple, nous créons une instance de classe Derived héritée d'un modèle C++, qui fournit la fonction de comptage de la classe Base et ajoute printCount Méthode pour imprimer le décompte actuel. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn