Я пытался сделать простую текстовую игру покемонов в C++. Я создал класс для pokemon, а затем в моем pokemain.cpp попытался вывести hp из charmander. Когда я пытаюсь запустить pokemonmain.cpp, он говорит, что charmander не был объявлен. Я уверен, что это глупый вопрос, но я не могу найти ответ на него.От класса к .cpp
Вот мой код.
//class named stats
#include <iostream>
using namespace std;
class pokemon
{
int health, damage;
public:
pokemon (int,int);
int hp()
{
return (health);
}
int dmg()
{
return (damage);
}
};
pokemon::pokemon (int hp, int dmg)
{
health = hp;
damage = dmg;
pokemon charmander (25,3);
pokemon bulbasaur (20,4);
pokemon squirtle (30,2);
cout<<" Charmander has "<<charmander.hp()<<" hp and "<<charmander.dmg()<<" damage.\n";
cout<<" Bulbasaur has "<<bulbasaur.hp()<<" hp and "<<bulbasaur.dmg()<<" damage.\n";
cout<<" Squirtle has "<<squirtle.hp()<<" hp and "<<squirtle.dmg()<<" damage.\n";
}
//pokemain.cpp
#include <iostream>
#include "stats.h"
using namespace std;
int main()
{
cout<<charmander.hp();
return 0;
}
Спасибо за ваш ответ. Вы оба спасли мне много исследований – Chuy
Нет проблем. Я советую вам изучить, что такое конструкторы. Я могу сказать, что вы полностью не понимаете концепцию. Вы можете начать здесь: http://www.fredosaurus.com/notes-cpp/oop-condestructors/constructors.html – Tiago
спасибо за эту ссылку, сейчас я нахожусь на C++ в колледже, и мне очень трудно понять моего учителя из-за ее акцент. – Chuy