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