Memulakan Pembolehubah Statik dalam Kelas C
Dalam pengaturcaraan berorientasikan objek, selalunya perlu untuk memulakan pembolehubah statik dalam kelas. Walau bagaimanapun, amalan ini boleh menimbulkan cabaran, seperti yang ditunjukkan oleh soalan berikut:
Dilema:
Seorang pembangun telah mengenal pasti beberapa fungsi dalam kelas mereka yang tidak memerlukan akses objek dan oleh itu mempunyai telah ditandakan sebagai statik. Walau bagaimanapun, pengkompil menuntut semua pembolehubah yang diakses juga diisytiharkan statik. Pembangun kemudiannya mengisytiharkan pembolehubah ini sebagai pembolehubah statik dalam kelas tetapi menghadapi ralat kompilasi.
Penyelesaian:
Untuk memulakan pembolehubah statik dalam kelas, seseorang harus mentakrifkannya dalam pengisytiharan kelas tetapi mulakannya dalam fail sumber yang berasingan. Ini ditunjukkan di bawah:
// Class Header class Thing { public: static string RE_ANY; static string RE_ANY_RELUCTANT; }; // Source File string Thing::RE_ANY = "([^\n]*)"; string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";
Pertimbangan Alternatif:
Adalah penting untuk ambil perhatian bahawa menjadikan fungsi statik bermakna ia tidak lagi dikaitkan dengan objek dan tidak boleh mengakses ahli bukan statik . Sebaliknya, pertimbangkan untuk menandakan mereka sebagai const, yang menghalang mereka daripada mengubah suai ahli tetapi membenarkan akses kepada mereka.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Pembolehubah Statik dengan betul dalam Kelas C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!