我在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”之后得到我提到的整数
根据程序我没有得到输出中的整数。什么可能是错的?
我是编程新手,所以请帮助我。
非常感谢。
答案 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