Обычный пример с юнитом.
class Unit {
private:
int health;
public:
Unit(int health);
virtual ~Unit();
protected:
virtual void setHealth(int newHealth);
далее делаем наследника
class Healer : public Unit {
public:
Healer(int health);
virtual void healing(Unit* other);
};
В реализации лечения:
void Healer::healing(Unit* other) {
other->setHealth(100);
}
И вот инкапсуляция не разрешает так делать. other->setHealth(100);
'setHealth' is a protected member of 'Unit' other->setHealth(newHealth);
can only access this member on an object of type 'Healer' virtual void setHealth(int newHealth);
При этом для this вызвать этот метод можно.
Мне, кажется, надо добавить вам интерфейс типа IHealable
например. И, далее, действовать через него. Например сделать ещё один класс HealableUnit: Unit, IHealable
и в методе healing
работать с интерфейсом, а не с методом.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я нарезаю картинку в цикле и сохраняю ее таким способом
У меня есть виджет строкового поляКак сделать, чтобы сохранялся текст этой строки и передавался в реестр, чтобы потом можно было загрузить...
Есть класс который подтягиват данные из файла css-selectorproperties, но кириллические символы лоомаются превращаясь в иероглифы