基類指針指向派生類對象

基類指針指向派生類對象
3種情況:

  • 一般只能調用基類的函數
  • 調用的函數,在基類中函數如果是虛函數,調用繼承類的函數
  • 調用的函數,在基類中函數如果只在繼承類中有,報錯

然後來看一組代碼實例:


#include <iostream>
using namespace std;
class A {
public:
	void f() { cout << "A::f()" << endl; }
	virtual void  g() { cout << "A::g()" << endl; }
};
class B :public A {
public:

	void f() { cout << "B::f()" << endl; }
	void g() { cout << "B::g()" << endl; }
};
int main() {
	A a;
	B b;
	A*pa = &b;//基類指針指向繼承類
	pa->f();//基類中有的只能指向基類
	pa->g();//基類中是虛函數,只能調用繼承類函數
}

結果如下

B::f()
A::g()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章