Soalan Asal: Bagaimanakah cara saya mentakrifkan kelas yang mewakili antara muka?
Jawapan Dikembangkan: Antara muka dalam C sememangnya kelas asas abstrak. Walau bagaimanapun, terdapat satu pengecualian yang patut dipertimbangkan.
Untuk memastikan pemindahan pemilikan yang betul tanpa mendedahkan kelas terbitan konkrit, adalah disyorkan untuk memasukkan pemusnah maya dalam antara muka. Pemusnah ini tidak memerlukan pelaksanaan, kerana antara muka tidak mempunyai ahli khusus.
Kod Contoh:
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; }; class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() override { // Custom implementation } };
Dalam contoh ini, kedua-dua Ibu Bapa dan Anak mewarisi daripada IDemo, dan Child menyediakan pelaksanaan konkrit untuk fungsi OverrideMe.
Perhatikan bahawa walaupun kelihatan luar biasa untuk mentakrifkan maya berfungsi sebagai sebaris, amalan ini secara amnya dianggap selamat dan bermanfaat untuk pengoptimuman.
Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan dan Melaksanakan Antara Muka dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!