Задать вопрос
@Ars_15

Проблема с компиляцией кода почему выдает данные ошибки и как исправить?

#include <iostream>
#include <string>
#include <Windows.h>
#include <cstring>
#include <cmath>
#include <time.h>
using namespace std;

class cop;

class bot {
private:
	short heal = 500;
public:
	void Damage(cop& Cop) {
		Cop.armor -= 20;


	}
	void restoration_of_life() {
		this->heal += 100;


	}
	friend class cop;
};
class cop {
private:
	short heal = 100;
	short armor = 100;
public:
	void Damage(bot& Bot) {
		Bot.heal -= 50;

}
	void restoration_of_life() {
		this->heal += 10;

	}
	
	friend class bot;
};

	int main() {
		setlocale(LC_ALL, "RU");
		SetConsoleCP(1251);
	
		cout << "Игра началась!\n Определяем чей ход первый..." << endl;

		srand(time(NULL));
		int ran = 1 + rand() % 10;
	if (ran <= 5) {
			cout << "Первым ходит Cop!" << endl;
			

		}
		else if (ran > 5) {
			cout << "Первым ходит Bot!" << endl;


		}

		return 0;
}
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 11 комментариев
Решения вопроса 1
@Acaunt
Добавлю сюда код того, что имел ввиду Ivan Ustûžanin
Потому что мне показалось по твоёму комментарию, что ты не понял то, что он имел ввиду.

class cop;

class bot {
private:
    short heal = 500;
    
public: // объявляем методы класса
    void Damage(cop& Cop);
    void restoration_of_life();
    
    friend class cop;
};

class cop {
private:
    short heal = 100;
    short armor = 100;
    
public: // объявляем методы класса
    void Damage(bot& Bot);
    void restoration_of_life();
    
    friend class bot;
};

// Тут мы вынесли определения методов за пределы классов
void bot::Damage(cop& Cop) {
    Cop.armor -= 20;
}

void bot::restoration_of_life() {
        this->heal += 100;
}
    
void cop::Damage(bot& Bot) {
    Bot.heal -= 50;
}
    
void cop::restoration_of_life() {
    this->heal += 10;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@adg2004
Где текст ошибок то?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы