慕盖茨4494581
一,两者的定义不同: 1,C++多重继承:一个派生类指定多个基类,这样的继承结构被称做多重继承; 2,多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,多态(polymorphism),字面意思多种形状,多态的目的则是为了接口重用。 二,两者的继承形式不同: 1,多重继承的一般形式为:class类名l:访问控制类名2,访问控制类名3,…访问控制类名n(…//定义派生类自己的成员}; 2,C++中,多态性分为两种,一种称为编译时多态,另一种为运行时多态: (1)编译时多态,也就是函数重载,所谓函数重载是指同一个函数名可以对应着多个函数的实现,具体调用哪个按照由参数个数,参数类型等来决定; (2)运行时多态,就是虚函数:在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,以实现你所想要的功能;比如:class A {public:virtual void test() {...}void display(){...}};class B :public A {public:virtual void test() {...}void display(A& a){ a.display(); }};那么:A* a = new A();a->test();调用的是基类的A* b = new B();b->test();调用的是派生类的.如果在A中不申明virtual,那么:A* b = new B();b->test(); 会调用基类的。