如何在这个程序的输出中得到整数35和50?

时间:2013-05-02 13:51:27

标签: c++ arrays object inheritance polymorphism

我在C ++编程方面真的很新,仅仅一个月我开始学习面向对象编程,我正在学习这个继承程序而且我没有得到我想要的输出。这个源代码有什么问题。

  #include<iostream>
using namespace std;
class enemy{
    private:
        int attackpower;
        public:
            void enemys(int x)
            {
                attackpower=x;
            }

    };

            class monster : public enemy
            {
                public:
                 enemy::enemys;

            };

            class ninja : public enemy
            {
                public:
                 enemy::enemys;
            };


int main()
{
    monster object1;
cout<<"You get points : - "<<endl;  object1.enemys( 35);

    ninja object2;
cout<<"You get points  : - "<<endl; object2.enemys( 50);

}

我得到的输出是这样的:

输出: 你得到积分: - 你得到分数: -

我想在“你得到积分: - 35”和“你得到积分 - 50”之后得到我提到的整数

根据程序我没有得到输出中的整数。什么可能是错的?

我是编程新手,所以请帮助我。

非常感谢。

1 个答案:

答案 0 :(得分:1)

这里有一些代码可以(非常轻微地)使用继承。也许你会发现它很有用

  #include<iostream>
using namespace std;
class enemy{
    private:
        int attackpower;
        public:
            enemy(int ap)
            {
                attackpower = ap;
            }
            int get_attackpower()
            {
                return attackpower;
            }

    };

        class monster : public enemy
        {
        public:
            monster() : enemy(35)
            {
            }
        };

        class ninja : public enemy
        {
        public:
            ninja() : enemy(50)
            {
            }
        };


int main()
{
    monster object1;
    cout<<"You get points : - " << object1.get_attackpower() << endl;

    ninja object2;
    cout<<"You get points  : - "<< object2.get_attackpower() << endl;

}

输出

You get points : - 35
You get points  : - 50