Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Anda Mewarisi Daripada Kelas Enum dalam C?

Bolehkah Anda Mewarisi Daripada Kelas Enum dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 21:27:29309semak imbas

Can You Inherit From an Enum Class in C  ?

Pewarisan Kelas Enum Asas dalam C

Satu persoalan biasa yang timbul dalam pengaturcaraan C ialah sama ada mungkin untuk mewarisi enum daripada enum lain. Ini membolehkan penciptaan enum terbitan yang berkembang mengikut nilai yang ditakrifkan dalam enum asas.

Sampel kod yang disediakan menggambarkan cara untuk mencapai warisan kelas enum asas dalam C :

<code class="cpp">#include <iostream>
#include <ostream>

class Enum
{
public:
    enum
    {
        One = 1,
        Two,
        Last
    };
};

class EnumDeriv : public Enum
{
public:
    enum
    {
        Three = Enum::Last,
        Four,
        Five
    };
};

int main()
{
    std::cout << EnumDeriv::One << std::endl;
    std::cout << EnumDeriv::Four << std::endl;
    return 0;
}</code>

Dalam contoh ini, kelas EnumDeriv mewarisi daripada kelas Enum. Nilai Tiga dalam EnumDeriv ditakrifkan untuk bermula dari penghujung nilai yang ditakrifkan dalam Enum, membenarkan penerusan nilai yang lancar.

Apabila menyusun dan menjalankan kod, ia akan mengeluarkan:

1
4

Ini menunjukkan kejayaan pewarisan nilai kelas Enum oleh EnumDeriv dan keupayaan untuk menentukan nilai tambahan dalam enum terbitan. Corak ini boleh berguna untuk mengatur dan memanjangkan nilai penghitungan dengan cara yang lebih berhierarki.

Atas ialah kandungan terperinci Bolehkah Anda Mewarisi Daripada Kelas Enum dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn