問(wèn)題:
????類A繼承類B,父類B的指針如何調(diào)用子類A中的變量和函數(shù)?
解決方案:
????在父類B類中定義虛函數(shù)
- ?父類中有自己的實(shí)現(xiàn),子類重新實(shí)現(xiàn)
virtual void Show()
{
cout << "A::Show()" << endl;
}
2.?父類沒(méi)有實(shí)現(xiàn),子類自己實(shí)現(xiàn)
virtual void test(int num) = 0;
完成代碼參考如下
#include<iostream>
using namespace std;
class A
{
public:
virtual void Show()
{
cout << "A::Show()" << endl;
}
virtual void test(int num) = 0;
};
class B : public A
{
public:
void Show()
{
cout << "B::Show" << endl;
}
void test(int num){
cout << num << endl;
}
};
int main()
{
A *pa = NULL;
B b;
pa = &b;
pa->Show();
pa->test(3333);
return 0;
}
運(yùn)行結(jié)果
參考
解析C++隱藏與覆蓋_Oragen的博客
作者:軟件工程小施同學(xué)
公眾哈:微程序?qū)W堂
本文摘自 :https://blog.51cto.com/s