Bagaimana cara mengatur kelas yang mewakili antarmuka? Apakah ini hanya kelas dasar
Bagaimana cara mengatur kelas yang mewakili antarmuka? Apakah ini hanya kelas dasar
Pemahaman dasar saya adalah bahwa tidak ada implementasi untuk fungsi virtual murni, namun, saya diberitahu mungkin ada implementasi untuk fungsi virtual murni. class A { public: virtual void f() = 0; }; void A::f() { cout<<"Test"<<endl; } Apakah kode di atas OK? Apa tujuan...
Apakah salah menulis: class A { public: virtual ~A() = 0; }; untuk kelas dasar abstrak? Setidaknya itu mengkompilasi di MSVC ... Apakah akan crash pada saat
Saya mengerti perlunya destruktor virtual. Tetapi mengapa kita membutuhkan destruktor virtual murni? Dalam salah satu artikel C ++, penulis telah menyebutkan bahwa kami menggunakan destructor virtual murni ketika kami ingin membuat abstrak kelas. Tetapi kita dapat membuat abstrak kelas dengan...
Kami selalu mendeklarasikan fungsi virtual murni sebagai: virtual void fun () = 0 ; Yaitu, selalu ditugaskan ke 0. Apa yang saya pahami adalah bahwa ini adalah untuk menginisialisasi entri vtable untuk fungsi ini ke NULL dan nilai lainnya di sini menghasilkan kesalahan waktu kompilasi. Apakah...
Saya terkadang melihat program yang mogok di komputer saya dengan kesalahan: "panggilan fungsi virtual murni". Bagaimana program-program ini bahkan dapat dikompilasi ketika sebuah objek tidak dapat dibuat dari kelas