Maison > développement back-end > C++ > le corps du texte

Comment définir une fonction membre de modèle en dehors de la définition de classe ?

Susan Sarandon
Libérer: 2024-11-04 01:01:30
original
666 Les gens l'ont consulté

How to Define a Template Member Function Outside of the Class Definition?

Définition d'une fonction membre de modèle en dehors de la définition de classe

Dans la programmation de modèles, il peut être nécessaire de définir une fonction membre de modèle en dehors de la définition de classe tout en conservant l'accès aux deux paramètres du modèle.

Considérez l'extrait de code suivant :

<code class="cpp">template <class T>
class Foo
{
public:
    template <class U>
    void bar();
};</code>
Copier après la connexion

Pour implémenter la fonction bar en dehors de la définition de classe, nous pouvons utiliser la syntaxe suivante :

<code class="cpp">template<class T> template <class U>
void Foo<T>::bar() { ... }</code>
Copier après la connexion

Cette syntaxe indique au compilateur que la fonction bar est une fonction membre de la classe Foo avec un paramètre de modèle T. Dans la définition de bar, nous pouvons accéder à la fois à T et au paramètre de modèle supplémentaire U comme nécessaire.

Par exemple :

<code class="cpp">template<class T> template <class U>
void Foo<T>::bar()
{
    std::cout << "T: " << typeid(T).name() << ", U: " << typeid(U).name() << std::endl;
}</code>
Copier après la connexion

Ce code imprimera les noms des paramètres du modèle T et U lorsque la fonction bar est appelée.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal