คำถามติดแท็ก pure-virtual


9
ฟังก์ชั่นเสมือนบริสุทธิ์พร้อมการติดตั้ง
ความเข้าใจพื้นฐานของฉันคือไม่มีการใช้งานสำหรับฟังก์ชั่นเสมือนจริง แต่ฉันก็บอกว่าอาจมีการใช้งานสำหรับฟังก์ชั่นเสมือนบริสุทธิ์ class A { public: virtual void f() = 0; }; void A::f() { cout<<"Test"<<endl; } รหัสด้านบนตกลงหรือไม่ อะไรคือจุดประสงค์ในการทำให้มันเป็นฟังก์ชั่นเสมือนที่แท้จริงพร้อมการติดตั้ง
176 c++  pure-virtual 


12
ทำไมเราต้องมี destructor เสมือนแท้ใน C ++
ฉันเข้าใจถึงความต้องการตัวทำลายล้างเสมือนจริง แต่ทำไมเราต้องมี destructor เสมือนแท้? ในหนึ่งในบทความ C ++ ผู้เขียนได้กล่าวว่าเราใช้ destructor เสมือนจริงเมื่อเราต้องการสร้างบทคัดย่อของคลาส แต่เราสามารถสร้างคลาสนามธรรมโดยการทำให้ฟังก์ชั่นสมาชิกใด ๆ เสมือนเสมือนจริง ดังนั้นคำถามของฉันคือ เมื่อไหร่ที่เราจะสร้างผู้ทำลายล้างเสมือนจริง? ใครสามารถยกตัวอย่างเรียลไทม์ได้บ้าง? เมื่อเราสร้างคลาสนามธรรมมันเป็นวิธีปฏิบัติที่ดีที่จะทำให้ destructor นั้นเสมือนจริงหรือไม่? ถ้าใช่ .. แล้วทำไมล่ะ

11
ทำไมฟังก์ชั่นเสมือนล้วนเริ่มต้นด้วย 0
เรามักจะประกาศฟังก์ชั่นเสมือนที่บริสุทธิ์เป็น: virtual void fun () = 0 ; นั่นคือมันถูกกำหนดเป็น 0 เสมอ สิ่งที่ฉันเข้าใจคือนี่คือการเริ่มต้นรายการ vtable สำหรับฟังก์ชั่นนี้เป็นโมฆะและค่าอื่น ๆ ที่นี่ส่งผลให้เกิดข้อผิดพลาดในเวลารวบรวม ความเข้าใจนี้ถูกต้องหรือไม่?

8
ข้อขัดข้อง "การเรียกฟังก์ชันเสมือนจริง" มาจากไหน
บางครั้งฉันสังเกตเห็นโปรแกรมที่ขัดข้องในคอมพิวเตอร์ของฉันโดยมีข้อผิดพลาด: "pure virtual function call" โปรแกรมเหล่านี้จะคอมไพล์ได้อย่างไรเมื่อวัตถุไม่สามารถสร้างคลาสนามธรรมได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.