Dalam bahasa C, kelas tidak boleh dilaksanakan secara langsung, tetapi tingkah laku kelas boleh disimulasikan dengan menggunakan struktur, fungsi, penunjuk dan makro. Pendekatan ini membenarkan: menggunakan struktur untuk mewakili sifat atau medan kelas. Gunakan fungsi untuk mewakili tingkah laku atau kaedah kelas. Gunakan penunjuk untuk menyimpan rujukan kepada struktur yang mewakili objek kelas. Gunakan makro untuk menentukan simbol kelas, serupa dengan ahli kelas dalam bahasa berorientasikan objek.
Melaksanakan kelas menggunakan bahasa C
Dalam bahasa C, kelas tidak boleh dilaksanakan secara langsung dengan cara yang sama seperti dalam bahasa pengaturcaraan berorientasikan objek seperti C++ atau Java. Walau bagaimanapun, gelagat kelas boleh disimulasikan dengan:
1 Menggunakan struktur:
Struktur ialah koleksi data yang berkaitan. Ia boleh digunakan untuk mewakili atribut atau medan kelas. Contohnya:
<code class="c">typedef struct { int age; char* name; } Person;</code>
2. Gunakan fungsi:
Fungsi boleh digunakan untuk mewakili tingkah laku atau kaedah sesuatu kelas. Contohnya:
<code class="c">void set_age(Person* person, int age) { person->age = age; } int get_age(Person* person) { return person->age; }</code>
3 Menggunakan penunjuk:
Penunjuk boleh digunakan untuk menyimpan rujukan kepada struktur, mewakili objek kelas. Contohnya:
<code class="c">Person* create_person(int age, char* name) { Person* person = (Person*)malloc(sizeof(Person)); person->age = age; person->name = name; return person; }</code>
4 Menggunakan makro:
Makro boleh digunakan untuk menentukan simbol khusus kelas (seperti pemalar, penghitungan, alias fungsi), serupa dengan ahli kelas dalam bahasa berorientasikan objek. Contohnya:
<code class="c">#define PERSON_AGE_MAX 100 #define PERSON_NAME_MAX_LENGTH 20 enum PersonType { STUDENT, EMPLOYEE, CUSTOMER }; #define SET_PERSON_AGE(person, age) person->age = age #define GET_PERSON_AGE(person) person->age</code>
Menggunakan teknik ini, adalah mungkin untuk mensimulasikan gelagat kelas dalam C, tetapi ambil perhatian tentang had berikut:
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kelas dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!