ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจฟังก์ชันเสมือนใน 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