我正在尝试理解多态中的虚函数。我想使用while
循环多次输出多态函数。
我在哪里放置循环?
我收到的输出只有3个输出,每个输出来自Ninja
和Monster
类。
#include <iostream>
#include <string>
#include <fstream>
#include <algorithm>
using namespace std;
class Enemy
{
public:
virtual void attack()
{
}
};
class Ninja: public Enemy
{
public:
void attack()
{
cout << "Ninja attack -" << endl;
}
};
class Monster : public Enemy
{
public:
void attack()
{
cout << "Monster eat -" << endl;
}
};
int main()
{
Ninja n;
Monster m;
Enemy *enemy1 = &n;
Enemy *enemy2 = &m;
int i = 0;
while (i <= 2)
{
enemy1->attack();
enemy2->attack();
i++;
}
system("pause");
}
那么你编写的代码会产生预期的结果。
你到底想要什么?困扰你的是什么?
此外,这并不多,但关于你做事的方式,你应该使用for
循环,除非有while
循环的特定原因。