Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah tujuan pengendali kolon (':') dalam pembina C, dan bagaimanakah ia berbeza daripada tugasan pembolehubah ahli eksplisit?

Apakah tujuan pengendali kolon (':') dalam pembina C, dan bagaimanakah ia berbeza daripada tugasan pembolehubah ahli eksplisit?

Susan Sarandon
Susan Sarandonasal
2024-11-13 06:50:03310semak imbas

What is the purpose of the colon operator (

Senarai Pemula dalam Pembina C

Pengendali titik bertindih (":") yang digunakan dalam kod C yang disediakan ialah sebahagian daripada senarai pemula ahli , yang merupakan cara untuk memulakan pembolehubah ahli kelas dalam pembina. Bertentangan dengan cadangan dalam soalan, ia tidak bersamaan dengan tugasan individu yang jelas.

Dalam contoh ini:

class MyClass {
public:

    MyClass() : m_classID(-1), m_userdata(0) { 
    }

    int m_classID;
    void *m_userdata;
};

Pembina MyClass() ialah pembina lalai yang memulakan dua pembolehubah ahli , m_classID dan m_userdata, kepada nilai -1 dan 0 masing-masing. Ini dilakukan menggunakan senarai pemula ahli, yang mengikuti senarai parameter pembina dan mendahului badan pembina.

Senarai pemula ahli memulakan pembolehubah ahli kelas mengikut susunan ia diisytiharkan dalam kelas. Setiap permulaan dipisahkan dengan koma. Nilai yang dinyatakan dalam senarai pemula segera diberikan kepada pembolehubah ahli yang sepadan apabila pembina dipanggil.

Sebaliknya, melaksanakan tugasan individu dalam badan pembina, seperti yang dicadangkan dalam soalan, akan menghasilkan perubahan yang jelas kepada nilai yang telah dimulakan. Ini berbeza daripada pemulaan yang dilakukan oleh senarai pemula ahli.

Oleh itu, senarai pemula ahli menyediakan cara yang mudah untuk memulakan pembolehubah ahli kelas dalam pembina, dan ia berbeza daripada tugasan individu yang jelas.

Atas ialah kandungan terperinci Apakah tujuan pengendali kolon (':') dalam pembina C, dan bagaimanakah ia berbeza daripada tugasan pembolehubah ahli eksplisit?. 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