点点币pos:C++考试题目,虚函数,求解!

来源:百度文库 编辑:高校问答 时间:2024/04/29 19:03:09
有一个汽车Vehicle,将它作为基类派生出小车类car和卡车类truck,定义这些类并定义一个虚函数用来显示各类的信息.

大虾救我!

#include <iostream>
using namespace std;
class Vehicle
{
public:
virtual void Name()
{
cout << "Vehicle<<endl;
}
};

class car : public Vehicle
{
public:
virtual void Name()
{
cout <<"car"<<endl;
}
};

class truck :public Vehicle
{
public:
virtual void Name()
{
cout<<"truck"<<endl;
}
};

int main()
{
Vehicle* p1 = NULL ;
Vehicle* p2 = NULL ;
Vehicle* p3 = NULL ;

p1 = new Vehicle;
p1->Name();
delete p1;

p2 = new car;
p2->Name();
delete p2;

p3 = new truck;
p3->Name();
delete p3

return 0;
}
输出结果将是

Vehicle
car
truck

在Vehicle类中定义一个display的虚函数
后在car和truck中各定义一个display
可用
{
Vehicle *p;
car c;
truck t;
p=&c;
p->display;
p=&t;
p->display;
}
来实现

深海渔人的main函数部分该成
int main()
{
Vehicle* p1 = NULL ;

p1 = new Vehicle;
p1->Name();
delete p1;

p1 = new car;
p1->Name();
delete p1;

p1 = new truck;
p1->Name();
delete p1

return 0;
}
就更能体现虚函数的动态绑定作用了