0

我在 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”之后提到的整数

根据程序,我没有得到输出中的整数。有什么问题?

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

非常感谢。

4

1 回答 1

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
于 2013-05-02T14:19:47.653 回答