Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mentakrifkan Maya `

Bagaimana untuk Mentakrifkan Maya `

DDD
Lepaskan: 2024-10-26 19:12:03
asal
920 orang telah melayarinya

How to Define a Virtual `

Mengatasi Maya << Ralat Operator

Apabila cuba menentukan << operator sebagai fungsi percuma, pembangun mungkin menghadapi ralat pengkompil "operator <<: hanya fungsi dan pangkalan ahli boleh menjadi maya." Ralat ini timbul kerana fungsi percuma tidak boleh menjadi maya.

Untuk menyelesaikan isu ini, pertimbangkan untuk menambah lapisan perantara dengan memperkenalkan fungsi ahli maya baharu dalam kelas:

<code class="cpp">class MyClass {
public:
    virtual void print(ostream&amp; where) const;
};</code>
Salin selepas log masuk

Fungsi maya ini menyediakan satu cara untuk menyesuaikan tingkah laku output dalam subkelas.

Seterusnya, tentukan operator<< sebagai fungsi percuma dengan susunan parameter yang betul:

<code class="cpp">ostream&amp; operator<< (ostream&amp; out, const MyClass&amp; mc) {
    mc.print(out);
    return out;
}</code>
Salin selepas log masuk

Pendekatan ini memastikan pengendali<< mempunyai susunan parameter yang diingini sambil membenarkan tingkah laku maya ditakrifkan dalam subkelas.

Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan 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