如果基底類別中定義了一個函式,當您繼承了基底類別之後,您可以「重新定義」(Override)這個函式,以讓它適用於衍生類別,例如:
#include <iostream>
using namespace std;
class Foo1 {
public:
void show() {
cout << "Foo1's show()" << endl;
}
};
class Foo2 : public Foo1 {
public:
void show() {
cout << "Foo2's show()" << endl;
}
};
int main() {
Foo1 f1;
Foo2 f2;
f1.show();
f2.show();
return 0;
}
執行結果:
Foo1's show()
Foo2's show() |
如上面這個簡單的程式所表示的,當同一個成員函式在衍生類別中被重新定義,使用此衍生類別所生成的物件來呼叫該函式,所執行的會是衍生類別中所定義的函式,而基底類別中的同名函式並不受影響。