Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Ahli Data Statik dalam C Tanpa Menggunakan Pembina Instance?
Dalam pengaturcaraan berorientasikan objek, ahli data statik dikongsi antara semua kejadian kelas. Biasanya, ia dimulakan dalam pembina contoh. Walau bagaimanapun, bagaimana jika anda ingin menyediakan ahli data statik tanpa bergantung pada pembina contoh?
Untuk meniru gelagat pembina statik, cipta kelas berasingan untuk merangkum data statik. Sebagai contoh, pertimbangkan kelas berikut:
class C { // read-only, can also be static const // should be filled with all characters from 'a' to 'z' static std::vector<char> alphabet; public: C() { /* ... */ } };
Untuk mencapai ini, takrifkan data statik dalam kelas biasa yang berasingan:
class StaticStuff { std::vector<char> letters_; public: StaticStuff() { for (char c = 'a'; c <= 'z'; c++) { letters_.push_back(c); } } };
Sekarang, buat contoh statik kelas ini dalam kelas asal:
class Elsewhere { static StaticStuff staticStuff; // constructor runs once, single instance };
Dengan mencipta contoh statik kelas StaticStuff, anda pada asasnya memulakan ahli data statik sebelum sebarang contoh kelas Elsewhere dibuat, meniru kefungsian pembina statik dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Ahli Data Statik dalam C Tanpa Menggunakan Pembina Instance?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!