public:
int area (void)
{ return (width * height); }
};
class CTriangle: public CPolygon {
public:
int area (void)
{ return (width * height / 2); }
};
int main () {
CRectangle rect;
CTriangle trgl;
CPolygon * ppoly1 = ▭
CPolygon * ppoly2 = &trgl;
ppoly1->set_values (4,5);
ppoly2->set_values (4,5);
ppoly1->printarea();
ppoly2->printarea();
return 0;
}
20
10
Hãy nhớ rằng
this
biểu diễn một con trỏ trỏ đến đối tượng đang được thực
hiện.
Các lớp trừu tượng và các thành viên ảo cung cấp cho C++ tính năng đa hình
khiến cho việc lập trình hướng đối tượng trở thành một công cụ hữu dụng. Tất
nhiên chúng ta đã thấy cách đơn giản nhất để sử dụng những tính năng này,
nhưng hãy tưởng tượng nếu những tính năng này được áp dụng cho các mảng
các đối tượng hay các đối tượng được cấp phát thông qua bộ nhớ động.