Bolehkah Ahli C Menjadi Statik dan Maya?

DDD
Lepaskan: 2024-10-30 19:09:30
asal
422 orang telah melayarinya

Can C   Members Be Both Static and Virtual?

Bolehkah Ahli C Menjadi Statik dan Maya?

Dalam C , ahli tidak boleh diisytiharkan secara statik dan maya. Menyusun pengisytiharan seperti ahli maya statik (); akan mengakibatkan ralat.

Walau bagaimanapun, anda boleh mencapai kesan yang sama menggunakan kaedah berikut:

  • Fungsi Asing: Tentukan fungsi statik dan bukan -fungsi maya statik dengan nama yang sama. Fungsi bukan maya boleh dipanggil terus pada kelas atau ditindih dalam kelas terbitan, manakala fungsi statik menyediakan akses kepada pelaksanaan kelas asas.
  • Fungsi Terlebih Beban: Isytiharkan fungsi terlampau beban dengan nama yang sama (satu statik dan satu maya bukan statik). Pengkompil akan memilih fungsi yang sesuai berdasarkan konteks panggilan.

Berikut ialah contoh:

<code class="cpp">struct Object
{
    static const TypeInformation& GetTypeInformation();
    virtual const TypeInformation& GetTypeInformation() const;
};

struct SomeObject : public Object
{
    static const TypeInformation& GetTypeInformation();
    virtual const TypeInformation& GetTypeInformation() const override;
};</code>
Salin selepas log masuk

Ini membolehkan anda memanggil GetTypeInformation() kedua-duanya pada objek (objek-> ;GetTypeInformation()) dan pada kelas (SomeObject::GetTypeInformation()). Object::GetTypeInformation() akan mengembalikan pelaksanaan kelas asas, manakala SomeObject::GetTypeInformation() akan memanggil versi yang diganti.

Atas ialah kandungan terperinci Bolehkah Ahli C Menjadi Statik dan Maya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!