Heim > Backend-Entwicklung > C++ > Hauptteil

Wie definiere ich Template-Member-Funktionen außerhalb einer Klasse in C?

Susan Sarandon
Freigeben: 2024-11-02 11:19:03
Original
336 Leute haben es durchsucht

How to Define Template Member Functions Outside a Class in C  ?

Außerhalb der Klasse liegende Definition von Vorlagen-Member-Funktionen

In C wird beim Definieren von Template-Klassen-Member-Funktionen außerhalb der Klassendefinition Folgendes angezeigt: Es ist erforderlich, sowohl die Klassenvorlagenparameter als auch die Funktionsmember-Vorlagenparameter anzugeben. Dadurch kann die Funktion auf den Kontext sowohl der Klasse als auch der Funktionsvorlage zugreifen.

Die Syntax zum Definieren einer Vorlagenmitgliedsfunktion außerhalb der Klassendefinition lautet wie folgt:

template<class T> template <class U>
void Foo<T>::bar() {
  // Function body
}
Nach dem Login kopieren

In In diesem Beispiel ist Foo die Vorlagenklasse, T der Klassenvorlagenparameter, U der Funktionsmitgliedsvorlagenparameter und bar der Name des Funktionsmitglieds.

Um die Verwendung zu veranschaulichen, betrachten Sie den folgenden Codeausschnitt:

<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>
Nach dem Login kopieren

In diesem Code wird das bar-Funktionselement außerhalb der Foo-Klassendefinition definiert, es hat jedoch weiterhin Zugriff auf den Klassenvorlagenparameter T und den Funktionselement-Vorlagenparameter U.

Das obige ist der detaillierte Inhalt vonWie definiere ich Template-Member-Funktionen außerhalb einer Klasse in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage