


Bagaimanakah anda boleh membuat kelas saling bergantung dalam C tanpa rekursi tak terhingga?
Nov 12, 2024 am 08:38 AMKelas Saling Bergantung dalam C : Menggunakan Pengisytiharan Hadapan
Percubaan untuk mencipta dua kelas yang mengandungi objek jenis satu sama lain secara langsung membawa kepada masalah rekursi tak terhingga. Untuk mencapai matlamat ini, penyelesaian menggunakan penunjuk dan pengisytiharan hadapan adalah perlu.
Dalam senario yang disediakan, pergantungan bulat antara kelas foo dan bar menyebabkan ralat. Untuk menyelesaikan masalah ini, pengisytiharan hadapan digunakan untuk mengumumkan kewujudan setiap kelas tanpa mentakrifkannya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Pengisytiharan hadapan ini membenarkan pengepala foo dan bar menjadi bebas, mengelakkan rujukan bulat. Takrifan penuh setiap kelas, termasuk ahli penunjuk, kemudiannya disediakan dalam fail .cpp masing-masing.
Contoh Penggunaan:
1 2 3 4 5 6 7 |
|
Kini, program dikompilasi dengan jayanya kerana pengisytiharan hadapan membolehkan kelas mengetahui satu sama lain secara tidak langsung. Mereka kini boleh menyimpan penunjuk antara satu sama lain, memutuskan kitaran dan membenarkan penciptaan kelas yang saling bergantung.
Atas ialah kandungan terperinci Bagaimanakah anda boleh membuat kelas saling bergantung dalam C tanpa rekursi tak terhingga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?
