Hàm ảo (Virtual function) là gì?
Hàm ảo là phương thức không có định nghĩa khi khai báo trong lớp cơ sở. Phương thức này được để trống trong lớp cha và định nghĩa lại trong lớp con.
Lớp trừu tượng (Abstract class) là gì?
Lớp trừu tượng là lớp có thành viên trừu tượng hoặc ít nhất một hàm ảo thuần túy (pure virtual function) trong định nghĩa. Lớp trừu tượng không bao giờ được khởi tạo (tạo đối tượng). Nó chỉ được kế thừa và các phương thức có thể được ghi đè.
Có thể có hàm hủy ảo (virtual Destructors) không?
Có, đây là hợp pháp trong C++, nhưng hàm hủy ảo này dành cho lớp cơ sở thay vì lớp con.
Mọi hàm ảo đều cần được ghi đè không?
Không, không bắt buộc phải định nghĩa lại hàm ảo. Nó có thể dùng như trong lớp cơ sở.
Có thể khai báo hàm tạo (constructor) là ảo không?
Hàm tạo không thể là ảo, vì chúng cần được định nghĩa trong lớp.