Maison > développement back-end > C++ > Comment définir une classe de modèle C++ ?

Comment définir une classe de modèle C++ ?

WBOY
Libérer: 2024-06-05 14:28:01
original
491 Les gens l'ont consulté

Les classes de modèles permettent aux développeurs de créer du code réutilisable. Il leur suffit de définir la classe de modèle, d'inclure le paramètre de type comme paramètre de modèle entre crochets et de fournir le type réel lors de l'instanciation. Vous pouvez utiliser la classe de modèle pour stocker et utiliser différents. types de données.

Comment définir une classe de modèle C++ ?

Comment définir une classe de modèle C++

Template est un outil puissant en C++ qui vous permet de créer du code réutilisable sans écrire une classe ou une fonction distincte pour chaque type. Dans cet article, nous explorerons comment définir une classe de modèle C++.

Syntaxe

La syntaxe pour définir une classe de modèle est la suivante :

template<typename T>
class ClassName {
    // 模板类的代码
};
Copier après la connexion

T est un paramètre de type, ce qui signifie que la classe de modèle peut être utilisée avec n'importe quel type. T 是一个类型参数,它表示模板类可以与任何类型一起使用。

实例

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

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

    void printValue() {
        std::cout << value << std::endl;
    }
private:
    T value;
};
Copier après la connexion

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

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

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

    return 0;
}
Copier après la connexion

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

Instance

Créons une classe de modèle qui peut stocker et imprimer tout type de données :
    rrreee
  • Nous pouvons maintenant utiliser la classe de modèle ValueHolder dans notre code :
  • rrreee
  • Dans Ici, nous créons deux instances ValueHolder : une pour le type int et une autre pour le type std::string. Les deux instances sont capables de stocker et d'imprimer des valeurs de leurs types correspondants.
  • Restrictions dans les classes de modèles
🎜🎜🎜Les classes de modèles autorisent uniquement les paramètres de modèle à être des types, et non des variables ou des constantes. 🎜🎜Les paramètres de modèle doivent être utilisés dans le cadre de la classe de modèle. 🎜🎜Toutes les instances d'une classe de modèle doivent avoir les mêmes paramètres de type. 🎜🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal