Форум программистов, компьютерный форум CyberForum.ru

Уничтожение указанных объектов - C++

Восстановить пароль Регистрация
 
Trurlol
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 21
28.05.2013, 22:14     Уничтожение указанных объектов #1
Здравствуйте. Не могу разобраться как реализовать следующее:
Имеется класс Human, далее необходимо сделать класс Murderer который по указанию на определенный объект уничтожит его и при попытке обратиться к уничтоженному объекту должно выдавать сообщение в духе "Я мертв".

Примерно такое должно быть:
C++
1
2
3
4
5
6
7
8
9
10
11
    Human Boris;
    Murderer Chikatilo;
 
    Boris.setName("Boris");
    Boris.getName();
/*My name is Boris*/
 
    Chikatilo.kill(Boris);
 
    Boris.getName();
/*Boris is dead*/
Абсолютно не понимаю как реализовать kill(объект), помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
28.05.2013, 22:20     Уничтожение указанных объектов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//в классе Human сделайте метод die, который может выглядеть примерно так:
 
void Human::die()
{
   m_name = "Я мертв";
}
 
// ну и Murderer будет вызывать этот метод и все:
 
void Murderer::kill(Human& human)
{
  human.die();
}
Slash321
5 / 5 / 1
Регистрация: 28.04.2013
Сообщений: 31
28.05.2013, 22:22     Уничтожение указанных объектов #3
Я не особо понял чему должно научить данное задание,ну ладно.Уточняющий вопрос:Ты должен обращаться на прямую к примеру Kill->Human->Boris; или нет или вообще Human и Kill это 2 не связанных класса
Trurlol
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 21
28.05.2013, 22:31  [ТС]     Уничтожение указанных объектов #4
Решение у DU. Кстати, а тоже самое только через деструкторы можно реализовать?
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
29.05.2013, 00:09     Уничтожение указанных объектов #5
после того, как отработает деструктор, обращаться (вызывать методы) к объекту уже нельзя. так что либо сам объект должен хранить в себе статус о том, живой он или нет, либо нужно вести журнал живых и мертвых объектов, занося в такой журнал какие-то идентификаторы объектов и их статус, либо хз еще как. первый вариант - вроде бы самый простой из всех.
Yandex
Объявления
29.05.2013, 00:09     Уничтожение указанных объектов
Ответ Создать тему
Опции темы

Текущее время: 05:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru