#include <iostream>
#include <map>
using namespace std;


void sendIntOnWire(string fld, int val) {
	cout << "Send "<<fld<<" with value "<<val<<" on the net"<<endl; 
}

// General idea:  access fields via maps

class GameCharacter {
    map<string, int> myints; 
    // same for doubles, floats, strings
public: 
    GameCharacter() {
    	myints["HP"]=100; 
    	myints["FP"]=50;  
    }
    int getInt(string fld) { return myints[fld]; }; 
    void setInt(string fld, int val) { myints[fld]=val; sendIntOnWire(fld,val); }
};

int main() {
	GameCharacter c; 
	c.setInt("HP", c.getInt("HP") - 10); 
	c.setInt("FP", c.getInt("FP") + 100); 
	
	return 0;
}