我真的很新,在C++编程和它只有一个月,我开始学习面向对象编程,我正在学习这个继承程序,我没有得到我想要的输出。这个源代码下面有什么错误。如何获得这个程序的输出中的整数35和50?
#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“
按照程序我没有得到输出整数。什么可能是错的?
我是编程新手,所以请帮助我。
非常感谢。
有无处在你的代码,你输出的整数。我不确定为什么你认为应该输出任何整数。 – john 2013-05-02 13:59:11
将某个对象的'object.enemys()'调用到同一行,因为某些输出不会输出它(更不用说它将返回void)。要解决这个问题,你首先需要一种方法来将'attackpower'从对象中取出(现在你只能设置它)。然后,您可以通过链接插入运算符来输出它:'cout <<“您可以得到分数: - ”<< object1.functionThatReturnsAttackPower(); << endl;'。顺便说一句,重新考虑有一个类继承并包含另一个类。这肯定只会让你后来感到困惑。 – jerry 2013-05-02 14:02:07
我认为你的代码的问题是,虽然它有一些继承类,它没有任何**使用继承。没有什么是你没有继承就无法做到的。也许这就是为什么你正在为这个概念而努力。 – john 2013-05-02 14:03:41