Heim > Backend-Entwicklung > C++ > Hauptteil

Wie definiere ich eine Template-Member-Funktion außerhalb der Klassendefinition?

Susan Sarandon
Freigeben: 2024-11-04 01:01:30
Original
612 Leute haben es durchsucht

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

Definieren einer Template-Member-Funktion außerhalb der Klassendefinition

Bei der Template-Programmierung kann es notwendig sein, eine Template-Member-Funktion außerhalb von zu definieren die Klassendefinition unter Beibehaltung des Zugriffs auf beide Vorlagenparameter.

Beachten Sie den folgenden Codeausschnitt:

<code class="cpp">template <class T>
class Foo
{
public:
    template <class U>
    void bar();
};</code>
Nach dem Login kopieren

Um die Balkenfunktion außerhalb der Klassendefinition zu implementieren, können wir die folgende Syntax verwenden:

<code class="cpp">template<class T> template <class U>
void Foo<T>::bar() { ... }</code>
Nach dem Login kopieren

Diese Syntax teilt dem Compiler mit, dass die Bar-Funktion eine Mitgliedsfunktion der Foo-Klasse mit einem Template-Parameter T ist. Innerhalb der Definition von bar können wir sowohl auf T als auch auf den zusätzlichen Template-Parameter U zugreifen benötigt.

Zum Beispiel:

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

Dieser Code gibt die Namen der T- und U-Vorlagenparameter aus, wenn die Balkenfunktion aufgerufen wird.

Das obige ist der detaillierte Inhalt vonWie definiere ich eine Template-Member-Funktion außerhalb der Klassendefinition?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!