Đa thừa kế
Trong C++ chúng ta có thể tạo lập một lớp thừa kế các trường và các phương
thức từ nhiều hơn một lớp. Điều này có thể thực hiện bằng cách tách các lớp cơ
sở khác nhau bằng dấu phẩy trong phần khai báo của lớp được thừa kế. Ví dụ,
nếu chúng ta có một lớp dùng để in ra màn hình (
COutput
) và chúng ta muốn
các lớp của chúng ta
CRectangle
và
CTriangle
cũng thừa kế các thành viên của
nó cùng với các thành viên của
CPolygon
, chúng ta có thể viết:
class CRectangle: public CPolygon, public COutput {
class CTriangle: public CPolygon, public COutput {
Đây là ví dụ đầy đủ:
// đa thừa kế
#include <iostream.h>
class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b;}
};
class COutput {
public:
void output (int i);
};
void COutput::output (int i) {
cout << i << endl;