Почему я постоянно получаю ошибку "несколько определений роботов::роботы()"
Я постоянно получаю ошибку "несколько определений роботов::robots ()", говоря, что она сначала определена в строке 8. Я не могу определить проблему. Может ли кто-нибудь увидеть, что не так?
Вот это самое main.cpp файл:
#include <iostream> #include "enemy_definitions.h" using namespace std; int main() { robots Bertha; Bertha.print_information(); }
Вот файл enemy_definitions.h:
using namespace std; class enemies { public: string name; int hp; int damage; virtual void print_information(); } class robots: public enemies { robots(); public: void print_information(); private: int power_requirement; }; class zombies: public enemies { public: void print_information(); private: int height; }; class aliens: public enemies { public: void print_information(); private: string colour; };
а вот это самое enemy_definitions.cpp файл:
#include "enemy_definitions.h" void enemies :: print_information() { } robots :: robots() { cout <<"Name: "; cin >> name; cout <<"\nhp: "; cin >> hp; cout <<"\ndamage: "; cin >> damage; cout <<"\n power_requirement: "; cin >> power_requirement; } void robots :: print_information() { cout << this->name << "has "; cout << this->hp << "hit-points. "; cout << this->damage << " damage and "; cout << this->power_requirement << "power requirement"; } void zombies :: print_information() { cout << this-> name <<"has"; cout << this->hp << "hit-points. "; cout << this->damage << " damage and "; cout << this->height << "height"; } void aliens :: print_information() { cout << this->name << " has "; cout << this->hp << "hit-points, "; cout << this->damage <<" damage and "; cout << this->colour << "colour";
Что я уже пробовал:
вещи..................................................
Richard MacCutchan
Где находится реализация проекта robots
класс?
BerthaDusStuf
Определение класса находится в файле enemy_definitions.h под определением класса enemies, а затем реализация его конструктора и функции print_information() находится в файле enemy_definitions. h. enemy_definitions.cpp файл
Richard MacCutchan
Я только что построил этот проект и после исправления нескольких пунктов все это компилируется, связывается и запускается. После запятой отсутствует точка с запятой. enemies
определение класса. И robots
конструктор требует public:
модификатор перед ним.
Richard MacCutchan
Мы не можем догадаться, где появляются сообщения об ошибках. Пожалуйста, покажите весь код, связанный с классом роботов, и укажите, откуда приходит сообщение об ошибке.
BerthaDusStuf
вот и весь код, и я сказал, что ошибка находится в строке 8 из enemy_definitions.cpp