class Watermelon: public Integer {//берем определение арбуза
public:
Watermelon(int size):Integer(size){}
virtual int size();
int devideMe();
private:
int m_size;
};
int Watermelon::size() {return m_size;}
int Watermelon::devideMe( return m_size--?1:0;)
class Me{
public:
Me(const char* name):m_kg(0){}
int eat(const int& kg) { m_kg = m_kg+kg; }
int kg_of_food()const {return m_kg;}
private:
int m_kg;
};
class Water: public Watermelon {};
...//где-то его создаём
Me me("Вася");//классическое имя
Watermelon* watermelon = new Watermelon(8);//8 кг хватит, чтобы сдачи от покупки впритык хватило на памперсы
while(watermelon->size())
me.eat(watermellon->devideMe())
delete watermelon;
Water* water = new Water(me.kg_of_food());
if(water == 8) me.be_happy();
...