30/09/2018, 16:09 
               
            Tại sao phải dùng hàm ảo (Virtual)?
Ví dụ:
#include <iostream>
using namespace std;
struct A{
     virtual void skill(){
          cout<< " Skill cua A 
";
     }
};
struct B : public A{
     void skill(){
          cout<< " Skill cua B 
";
     }
};
struct C : public A{
     void skill(){
          cout<< " Skill cua C 
";
     }
};
int main(){
    A *pt1 = new A;
    pt1->skill();
    A *pt2 = new B;
    pt2->skill();
    A *pt3 = new C;
    pt3->skill();
    pause("sytems");
}
            Bài liên quan
         
                
            




Hàm ảo để bắt buộc các class kế thừa từ Abstract class A, class B và C, phải implement lại method
skill.Ý bạn muốn hỏi cú pháp hay mục đích ra đời của từ khóa
vỉtual. Cú pháp thì a @ltd đã nói ở trên, còn mục đích sử dụng là để thể hiện tính đa hình trong hướng đối tượng, một phương thứcskill()ởclass/structcha (struct A) có thể được xử lý khác nhau ở cácclass/structcon (structB,structC)Mình có thể tạo thêm một struct D kế thừa public từ struct B,C được không nhỉ?