使用循环显示虚函数[关闭]

问题描述 投票:0回答:1

Problem

我正在尝试理解多态中的虚函数。我想使用while循环多次输出多态函数。

我在哪里放置循环?

我收到的输出只有3个输出,每个输出来自NinjaMonster类。

Code

#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"); 
}
c++ polymorphism
1个回答
0
投票

那么你编写的代码会产生预期的结果。

你到底想要什么?困扰你的是什么?

此外,这并不多,但关于你做事的方式,你应该使用for循环,除非有while循环的特定原因。

© www.soinside.com 2019 - 2024. All rights reserved.