Maison > Article > développement back-end > Comment définir des fonctions membres de modèles en dehors d’une classe en C ?
Définition hors classe des fonctions membres du modèle
En C, lors de la définition des fonctions membres de la classe modèle en dehors de la définition de la classe, il est nécessaire de spécifier à la fois les paramètres du modèle de classe et les paramètres du modèle de membre de fonction. Cela permet à la fonction d'accéder au contexte à la fois de la classe et du modèle de fonction.
La syntaxe pour définir une fonction membre du modèle en dehors de la définition de la classe est la suivante :
template<class T> template <class U> void Foo<T>::bar() { // Function body }
Dans dans cet exemple, Foo est la classe du modèle, T est le paramètre du modèle de classe, U est le paramètre du modèle du membre de la fonction et bar est le nom du membre de la fonction.
Pour illustrer l'utilisation, considérons l'extrait de code suivant :
<code class="cpp">template <class T> class Foo { public: template <class U> void bar(); }; template<> template <class U> void Foo<int>::bar() { // Implementation that uses both T and U }</code>
Dans ce code, le membre de la fonction bar est défini en dehors de la définition de la classe Foo, mais il a toujours accès à la fois au paramètre de modèle de classe T et au paramètre de modèle de membre de fonction U.
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!