一个多态的例子:
#include<iostream> #include<vector> #include<string> #include<stdlib.h> #include<set> #include<map> using namespace std; #define MAX 999999 class takebus { public: void takebus_to_subway() { cout<<"to sbway:take 438"<<endl; } void takebus_to_station() { cout<<"to_station:take K1"<<endl; } }; class BUS { public: virtual void Takebus_to_somewhere(takebus &tb)=0; }; class subway:public BUS { public: virtual void Takebus_to_somewhere(takebus & tb) { tb.takebus_to_subway(); } }; class station:public BUS { public: virtual void Takebus_to_somewhere(takebus & tb) { tb.takebus_to_station(); } }; int main() { takebus tb; BUS *b=NULL; b=new subway; //b=new station; b->Takebus_to_somewhere(tb); delete b; return 0; }
参考资料:https://blog.csdn.net/qq_39412582/article/details/81628254