Các thành viên ảo
Nếu muốn khai báo một phần tử trong một lớp mà chúng ta muốn định nghĩa lại
nó trong các lớp thừa kế thì chúng ta phải đặt trước nó từ khoá
virtual
để việc
sử dụng con trỏ tới các đối tượng thuộc lớp này là thích hợp.
Hãy xem ví dụ sau:
// các thành viên ảo
#include <iostream.h>
class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b; }
virtual int area (void)
{ return (0); }
};
class CRectangle: public CPolygon {
public:
int area (void)
{ return (width * height); }
};
class CTriangle: public CPolygon {
public:
int area (void)
{ return (width * height / 2); }
};
int main () {