C++多态性 #include<stdio.h> class Addxy { int _x; int _y; public: Addxy(int x = 0,int y = 0):_x(x),_y(y){}; virtual int add() //该函数与对象绑定 { printf("--Addxy----%d----\r\n", (_x+_y)); return (_x+_y); } int getAdd() { return (_x+_y); } }; class Addxyz : public Addxy { int _z; public: Addxyz(int x=0,int y=0,int z=0):Addxy(x,y),_z(z){} int add() //覆盖子类的虚方法 { printf("-Addxyz-----%d----\r\n",(this->getAdd()+this->_z)); return (Addxy::add()+this->_z); } }; int add(Addxy * AD) { printf("------%s----\r\n","add(Addxy * AD)"); return AD->add(); } int main() { Addxy a(1,5); add(&a); Addxyz b(1,10,5); add(&b); //使用多态性 return 0; } 1.为什么需要多态。 2.如何实现多态 3.覆盖 4.虚函数内部机制