c++ - 使用循环显示虚拟功能
问题描述
问题
我正在尝试理解多态性中的虚函数。while
我想使用循环多次从多态函数输出。
我在哪里放置循环?
我收到的输出只有 3 个输出,每个输出来自Ninja
andMonster
类。
代码
#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
。
推荐阅读
- testing - 在常见的 spring 上下文中运行 Spock 测试
- kubernetes - 我们可以在 Kubernetes 中配置相同的节点作为主从节点吗
- intellij-idea - 查看哪些方法没有对 intelj idea 进行单元测试
- python - 创建一个 DataFrame 为参数'index'返回多个值
- php - 从用户名文件夹中获取图像
- javascript - 如何迭代文档中的所有 iframe?
- python-3.x - Python yagmail 认证配置
- angular - 如何限制用户直接在 Angular 应用程序中加载 url
- javascript - 谁决定在新的 JavaScript 版本中添加什么?
- java - spring-boot - 使用两台服务器运行 junit 测试