Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mentakrifkan Fungsi Ahli Templat Di Luar Kelas dalam C?

Bagaimana untuk Mentakrifkan Fungsi Ahli Templat Di Luar Kelas dalam C?

Susan Sarandon
Susan Sarandonasal
2024-11-02 11:19:03263semak imbas

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

Definisi Luar Kelas Fungsi Ahli Templat

Dalam C , apabila mentakrifkan fungsi ahli kelas templat di luar definisi kelas, ia adalah perlu untuk menentukan kedua-dua parameter templat kelas dan parameter templat ahli fungsi. Ini membenarkan fungsi untuk mengakses konteks kedua-dua kelas dan templat fungsi.

Sintaks untuk mentakrifkan fungsi ahli templat di luar definisi kelas adalah seperti berikut:

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

Dalam contoh ini, Foo ialah kelas templat, T ialah parameter templat kelas, U ialah parameter templat ahli fungsi dan bar ialah nama ahli fungsi.

Untuk menggambarkan penggunaan, pertimbangkan coretan kod berikut:

<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>

Dalam kod ini, ahli fungsi bar ditakrifkan di luar definisi kelas Foo, tetapi ia masih mempunyai akses kepada kedua-dua parameter templat kelas T dan parameter templat ahli fungsi U.

Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan Fungsi Ahli Templat Di Luar Kelas dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn