Witam, otóż mam taki "mały" kłopot wynikający z niemal absolutnego braku umiejętności stosowania poprawnej enkapsulacji kodu.
Plik main.cpp:
#include <iostream>
#include "hefi.h"
using namespace std;
int main()
{
Moje ja;
NieMoje::zmienhp(ja);
return 0;
}
Plik hefi.h:
#include <iostream>
using namespace std;
class Moje
{
private:
int hp=30;
public:
int whathp();
};
class NieMoje
{
public:
static void zmienhp(class Moje& ja);
};
Plik hefi.cpp::
#include <iostream>
#include "hefi.h"
using namespace std;
int Moje::whathp()
{
return hp;
}
void NieMoje::zmienhp(class Moje& ja)
{
ja.whathp() -=10;
}
Błąd: error: lvalue required as left operand of assignment
Wiem że rozwiązanie jest pewnie trywialnie proste ale jednak nie mam pomysłu co z tym zrobić. Pozdrawiam :)