1、只能出现在同一个类当中
2、子类无法重载父类函数,父类中同名的函数会被子类中同名的函数覆盖
3、重载是在编译期间根据函数参数和个数决定的
1、必须发生在父类和子类当中
2、子类对象中有和父类中同名的函数
3、使用virtual声明之后能够产生多态(如果不使用virtual,那叫重定义)
class Parent { public: void GetName() { printf("\nParent"); } virtual void Fun() { printf("Parent"); } virtual void Fun(int i) { printf("Parent:i"); } virtual void Fun(int i,int j) { printf("Parent:i j"); } }; class Child:public Parent { public: void GetName() { printf("\nChild"); } virtual void Fun(int i,int j) { printf("Child:i j"); } virtual void Fun(int i,int j, int l) { printf("Child:i j l"); } }; main { Child c; c.Fun(1,2);//重载、重写 c.GetName();//重定义 //若想调用父类函数 c.Parent::Fun(1); }