在C++中,實現有效的繼承和多態可以通過以下步驟實現:
class Shape {
public:
virtual void draw() {
// 空實現
}
};
class Circle : public Shape {
public:
void draw() override {
// 實現繪制圓形的方法
}
};
class Rectangle : public Shape {
public:
void draw() override {
// 實現繪制矩形的方法
}
};
使用虛函數和override關鍵字:定義基類中的虛函數,允許派生類覆蓋(override)這些函數。
使用基類指針或引用調用派生類方法:通過基類指針或引用調用派生類的方法,實現多態。
int main() {
Shape* shape;
Circle circle;
Rectangle rectangle;
shape = &circle;
shape->draw(); // 調用Circle類的draw方法
shape = &rectangle;
shape->draw(); // 調用Rectangle類的draw方法
return 0;
}
通過以上步驟,可以在C++中實現有效的繼承和多態。subclass重新定義基類中的虛函數,以實現不同的行為。可以通過基類指針或引用調用派生類的方法,實現多態的效果。