Rumah > Artikel > pembangunan bahagian belakang > Bolehkah Anda Memanggil Kaedah Ahli Statik pada Contoh Kelas dalam C?
Memanggil Kaedah Ahli Statik pada Kejadian Kelas
Dalam C , kaedah ahli statik boleh dipanggil secara terus atau melalui tika kelas. Tingkah laku ini mungkin menimbulkan persoalan mengenai jangkaan piawai untuk penggunaan kaedah ahli statik.
Piawaian C secara eksplisit menyatakan bahawa kaedah ahli statik boleh dipanggil tanpa contoh. Walau bagaimanapun, ini tidak menghalang kemungkinan memanggil mereka melalui contoh.
Pertimbangkan contoh kod berikut:
class Test { public: static void DoCrash() { std::cout << "TEST IT!" << std::endl; } }; int main() { Test k; k.DoCrash(); // calling a static method like a member method... }
Dalam contoh ini, kaedah statik DoCrash() digunakan pada contoh kelas Ujian (k). Anehnya, kod ini menyusun dan berjalan tanpa ralat, memaparkan "TEST IT!".
Mengapa ini Dibenarkan?
Standard membenarkan panggilan kaedah ahli statik melalui contoh untuk beberapa sebab:
Mata Tambahan
Walaupun memanggil kaedah ahli statik melalui kejadian dibenarkan, ia biasanya tidak digalakkan. Ini kerana ia boleh menyebabkan kekeliruan dan tingkah laku yang tidak dijangka, terutamanya apabila kod dikemas kini atau diubah suai. Untuk kejelasan dan ketepatan, lebih disukai untuk memanggil kaedah ahli statik secara langsung menggunakan nama kelas, seperti dalam Test::DoCrash().
Atas ialah kandungan terperinci Bolehkah Anda Memanggil Kaedah Ahli Statik pada Contoh Kelas dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!