Rumah > pembangunan bahagian belakang > C++ > Bolehkah Kelas C Memasukkan Dirinya sebagai Pembolehubah Ahli?

Bolehkah Kelas C Memasukkan Dirinya sebagai Pembolehubah Ahli?

Patricia Arquette
Lepaskan: 2024-12-23 05:05:38
asal
228 orang telah melayarinya

Can a C   Class Include Itself as a Member Variable?

Bolehkah Kelas C Saling Menyertakan Dirinya Sebagai Ahli?

Dalam C , tergoda untuk menentukan kelas yang merangkumi dirinya sebagai ahli untuk mewakili struktur bersarang seperti pokok ekspresi. Walau bagaimanapun, pendekatan ini tidak dibenarkan.

Penaakulan:

Seperti yang dinyatakan dalam jawapan yang disediakan, mentakrifkan kelas dengan pembolehubah ahli jenisnya sendiri akan menghasilkan objek besar yang tidak terhingga. Setiap Nod akan mengandungi dua objek Nod, yang seterusnya akan mengandungi dua lagi objek Nod, dan seterusnya ad infinitum. Ini akan menjadikan peruntukan memori tidak praktikal dan membawa kepada ralat masa jalan.

Penyelesaian:

Untuk menyelesaikan isu ini, anda perlu menggunakan penunjuk kepada jenis kelas sebagai pembolehubah ahli bukannya jenis kelas itu sendiri. Ini membolehkan perwakilan bersarang sambil mengelakkan masalah pengulangan tak terhingga.

Pertimbangkan takrif yang disemak berikut:

class Node {
    char *cargo;
    Node* left;   // Pointer to a Node object
    Node* right;  // Another pointer to a Node object
};
Salin selepas log masuk

Dengan menggunakan penunjuk, kita boleh mencipta struktur seperti pokok tanpa berjalan ke dalam masalah rujukan diri.

Atas ialah kandungan terperinci Bolehkah Kelas C Memasukkan Dirinya sebagai Pembolehubah Ahli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan