题目描述:
为了模拟毒株变异、生活在我们体内以及被我们免疫系统消灭的过程,乎优塔写了以下程序,请补充完整程序,并运行出毒株灭亡的结果。
#include <iostream>
using namespace std;
class Virus {
public:
Virus() {
cout << "I am the ancestor of the new virus!" << endl;
}
~Virus() {
cout << "I must disappear!" << endl;
}
_____________________; //定义纯虚函数
};
class vOne : public Virus
{
public:
vOne() {
cout << "vOne is born." << endl;
}
~vOne() {
cout << "vOne is dead." << endl;
}
void eat() {
cout << "vOne is living in your body." << endl;
}
};
class vTwo : public Virus
{
public:
vTwo() {
cout << "vTwo is born." << endl;
}
~vTwo() {
cout << "vTwo is dead." << endl;
}
void eat() {
cout << "vTwo is living in your body." << endl;
}
};
int main() {
_____________________; //定义父类指针v
_____________________; //定义vOne对象v1
_____________________; //定义vTwo对象v2
v = &v1;
_____________________; //通过父类指针调用eat()方法
v = &v2;
_____________________; //通过父类指针调用eat()方法
cout << "Our immune system is kill v1 and v2..." << endl;
return 0;
}
输入描述:
无
输出描述:
补充该程序后,运行的结果。
#include <iostream>
using namespace std;
class Virus {
public:
Virus() {
cout << "I am the ancestor of the new virus!" << endl;
}
~Virus() {
cout << "I must disappear!" << endl;
}
virtual void eat()
{
cout << "Virus is living in your body." << endl;
}//定义纯虚函数
};
class vOne : public Virus
{
public:
vOne() {
cout << "vOne is born." << endl;
}
~vOne() {
cout << "vOne is dead." << endl;
}
void eat() {
cout << "vOne is living in your body." << endl;
}
};
class vTwo : public Virus
{
public:
vTwo() {
cout << "vTwo is born." << endl;
}
~vTwo() {
cout << "vTwo is dead." << endl;
}
void eat() {
cout << "vTwo is living in your body." << endl;
}
};
int main() {
Virus* v;//定义vTwo对象v2
vOne v1;//定义vOne对象v1
vTwo v2;//定义vTwo对象v2
v = &v1;
v->eat(); //通过父类指针调用eat()方法
v = &v2;
v->eat();//通过父类指针调用eat()方法
cout << "Our immune system is kill v1 and v2..." << endl;
return 0;
}