ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจฟังก์ชันเสมือนใน C++
ฟังก์ชันเสมือนเป็นฟังก์ชันสมาชิกที่กำหนดไว้ในคลาสฐาน และสามารถกำหนดเพิ่มเติมในคลาสย่อยได้เช่นกัน ขณะเรียกใช้คลาสที่ได้รับ ฟังก์ชันที่เขียนทับจะถูกเรียกใช้
ตัวอย่าง
#include <iostream> using namespace std; class base { public: virtual void print(){ cout << "print base class" << endl; } void show(){ cout << "show base class" << endl; } }; class derived : public base { public: void print(){ cout << "print derived class" << endl; } void show(){ cout << "show derived class" << endl; } }; int main(){ base* bptr; derived d; bptr = &d; //calling virtual function bptr->print(); //calling non-virtual function bptr->show(); }
ผลลัพธ์
print derived class show base class