ความแตกต่างระหว่างฟังก์ชันเสมือนและการแทนที่ฟังก์ชันคืออะไร
ความแตกต่างระหว่างฟังก์ชันเสมือนและการแทนที่ฟังก์ชันคืออะไร

วีดีโอ: ความแตกต่างระหว่างฟังก์ชันเสมือนและการแทนที่ฟังก์ชันคืออะไร

วีดีโอ: ความแตกต่างระหว่างฟังก์ชันเสมือนและการแทนที่ฟังก์ชันคืออะไร
วีดีโอ: ความต่อเนื่องของฟังก์ชัน 2024, อาจ
Anonim

ฟังก์ชั่นเสมือน ไม่สามารถคงที่และไม่สามารถเป็นเพื่อนได้ การทำงาน ของชั้นเรียนอื่น มีการกำหนดไว้ในคลาสฐานเสมอและ แทนที่ ในคลาสที่ได้รับ ไม่จำเป็นสำหรับคลาสที่ได้รับto แทนที่ (หรือนิยามใหม่ว่า ฟังก์ชั่นเสมือน ) ในกรณีนั้นรุ่นคลาสฐานของ การทำงาน ถูกนำมาใช้.

นอกจากนี้ ความแตกต่างระหว่างฟังก์ชันเสมือนและฟังก์ชันเสมือนบริสุทธิ์คืออะไร

หลัก ความแตกต่างระหว่าง ' ฟังก์ชันเสมือน' และ 'ฟังก์ชันเสมือนบริสุทธิ์ ' คือว่า ' ฟังก์ชั่นเสมือน ' มีคำจำกัดความของมัน ใน คลาสฐานและคลาสที่สืบทอดมาจะกำหนดใหม่ NS ฟังก์ชั่นเสมือนบริสุทธิ์ ไม่มีคำจำกัดความ ใน คลาสฐานและคลาสที่ได้รับสืบทอดทั้งหมดจะต้องกำหนดใหม่

ต่อมา คำถามคือ ฟังก์ชันที่แทนที่ใน C++ คืออะไร? การแทนที่ฟังก์ชัน C++ . ถ้าคลาสที่ได้รับกำหนดเหมือนกัน การทำงาน ตามที่กำหนดไว้ในคลาสฐานเรียกว่า ฟังก์ชันแทนที่ ใน C++ มันถูกใช้เพื่อบรรลุความแตกต่างของรันไทม์ ช่วยให้คุณสามารถจัดเตรียมการใช้งานเฉพาะของ การทำงาน ซึ่งมีให้โดยคลาสพื้นฐานแล้ว

ในทำนองเดียวกัน มีคนถามว่าทำไมเราถึงใช้ฟังก์ชันเสมือน?

ฟังก์ชั่นเสมือน เป็น ใช้แล้ว เพื่อรองรับ " Run time Polymorphism" เมื่อ ฟังก์ชั่นเสมือน ถูกเรียกโดยใช้ตัวชี้คลาสฐาน คอมไพเลอร์ตัดสินใจที่รันไทม์ว่าเวอร์ชันใดของ การทำงาน กล่าวคือจะเรียกเวอร์ชัน Base Class หรือเวอร์ชัน Derived Class ที่ถูกแทนที่ สิ่งนี้เรียกว่า Run time Polymorphism

คุณสามารถแทนที่ฟังก์ชันที่ไม่ใช่เสมือนใน C ++ ได้หรือไม่?

ใน c++ สมาชิกคลาสทั้งหมด ฟังก์ชั่น เป็น ไม่ใช่ - เสมือน โดยค่าเริ่มต้น. พวกเขา สามารถ จะทำ เสมือน โดยใช้ เสมือน คำสำคัญใน การทำงาน ลายเซ็น. ตามที่ระบุไว้ข้างต้น ถ้า NS การทำงาน ของชั้นฐานถูกสร้างขึ้น เสมือน แล้ว การทำงาน ของ Derived หรือ Child class's การทำงาน ที่มีชื่อเดียวกัน สามารถแทนที่ คลาสเบส การทำงาน.