C++ 中的虛擬函式和執行時多型性
C++ 中的虛擬函式用於建立一個基類指標列表並呼叫任何派生類的函式,而無需知道派生類物件的種類。虛擬函式在執行時在較晚時解析。
虛擬函式的主要用處是實現執行時多型性。執行時多型性只能透過基類型別的指標(或引用)實現。此外,基類指標可以指向基類物件以及派生類物件。在上面的程式碼中,基類指標‘b’包含派生類‘d’物件的地址。
示例程式碼
#include<iostream>
using namespace std;
class B {
public:
virtual void s() {
cout<<" In Base \n";
}
};
class D: public B {
public:
void s() {
cout<<"In Derived \n";
}
};
int main(void) {
D d; // An object of class D
B *b= &d; // A pointer of type B* pointing to d
b->s(); // prints "D::s() called"
return 0;
}輸出
In Derived
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP