关于C++多态性的问题。学生党求大神庇佑!
要用多态性实现下列的代码,可以运行但是好像运用的不是多态性的原理求解释。如果可以的话帮我把这点代码稍微改一哈,谢谢
[code=c][/code]
#include<iostream>
using namespace std;
class Engine
{
private:
int Power;//输出功率
int Torque;//扭矩
public:
Engine();
virtual void displayPower();
virtual void displayTorque();
};
class Car:public Engine
{
};
class electric:public Car
{
public :
virtual void displayPower()
{
cout <<"electricCarEnginePower = 1"<<endl;
}
virtual void displayTorque()
{
cout <<"electricCarEngineTorque = 1"<<endl;
}
};
class SunCar:public Car
{
public :
virtual void displayPower()
{
cout <<"SunCarEnginePower = 2"<<endl;
}
virtual void displayTorque()
{
cout <<"SunCarEngineTorque = 2"<<endl;
}
};
class electricCarEngine:public electric,public Car
{
};
class SunCarEngine:public SunCar,public Car
{
};
int main()
{//
//electricCarEngine electricCarEngine1;
//electricCarEngine1.displayPower();
//electricCarEngine1.displayTorque();
//SunCarEngine SunCarEngine1;
//SunCarEngine1.displayPower();
//SunCarEngine1.displayTorque();
//int z;
//cin >>z;
Engine * pcar=new SunCarEngine();
pcar->displayPower();
pcar->displayTorque();
pcar=new electric();
//还是调用这两个方法,但是调用的是electric类的方法
pcar->displayPower();
pcar->displayTorque();
pcar=new SunCar();
//还是调用这两个方法,但是调用的是SunCar类的方法
pcar->displayPower();
pcar->displayTorque();
getchar();
return 0;
}