Tertib Permulaan Ahli Data Bukan Statik dalam C
Apabila mencipta contoh baharu kelas dengan ahli data bukan statik, tertib di mana ia dimulakan adalah penting untuk pembinaan objek yang betul.
Dalam senario ini, mari kita pertimbangkan perkara berikut kod:
class A {}; class B {}; class X { A a; B b; };
Persoalannya timbul: apabila pembina kelas X dipanggil, pembina (A atau B) yang manakah dipanggil dahulu? Adakah kedudukan mereka dalam definisi kelas menentukan susunan?
Menurut Piawaian C, seksyen 12.6.2, susunan permulaan adalah seperti berikut:
Oleh itu, dalam kod yang disediakan, ahli data bukan statik a dan b dimulakan dalam susunan ia diisytiharkan, iaitu yang pertama diikuti dengan b. Pembina A akan dipanggil sebelum pembina B.
Ringkasnya, susunan pemula untuk ahli data bukan statik ditentukan oleh susunan pengisytiharan mereka dalam definisi kelas, bukan oleh penempatan mereka dalam pembina badan.
Atas ialah kandungan terperinci Apakah Susunan Permulaan Ahli Data Bukan Statik dalam Kelas C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!