11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
||||||||||||||||
1 | ||||||||||||||||
Почему массив всегда инициализирован нулями?22.04.2017, 22:21. Показов 3180. Ответов 25
Метки нет (Все метки)
Не могу понять, почему у меня массив всегда инициализирован нулями в методе check_ending.
Есть у меня класс Player в заголовочном файле, где я объявил все поля и методы:
Но почему, когда я вызываю этот метод (check_ending) таким образом:
0
|
22.04.2017, 22:21 | |
Ответы с готовыми решениями:
25
Почему массив изначально нулями не инициализируется? Почему один массив заполняется нулями, а другой нет? Как узнать инициализирован ли массив? Проверить, был ли массив инициализирован |
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
22.04.2017, 22:27 | 3 |
Почему функция
check_ending никак не использует свой параметр enemy ?Объекты computer и human глобальные? Где они хранятся?
1
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
||||||
22.04.2017, 22:27 [ТС] | 4 | |||||
nd2,
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
22.04.2017, 22:32 [ТС] | 6 |
Объект класса Player
Добавлено через 55 секунд Да, глобальные. В Player.cpp и в MyForm.h Добавлено через 2 минуты Да, в этом действительно моя ошибка. Но теперь я не знаю, как сделать так, чтобы проверялись оба объекта: computer и human
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
22.04.2017, 22:38 [ТС] | 8 |
Но теперь я не совсем понимаю, как проверить, грубо говоря, "какой объект победил".
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
||||||
22.04.2017, 23:23 [ТС] | 10 | |||||
Так тут вопрос-то всего в двух методах )
Каждый объект имеет свой массив кораблей (ships). И вот как теперь можно проверить, кто проиграл? Здесь-то было всё понятно: human И computer.
Не понимаю, как теперь enemy разделить на два объекта?
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
22.04.2017, 23:28 [ТС] | 12 |
nd2, ну глупо будет мне выкладывать весь проект )
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
22.04.2017, 23:41 [ТС] | 14 |
nd2, да, я передаю и второй объект из другой функции. Просто я спрашиваю, как в функции check_ending понять, какой из объектов сейчас проверяется.
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
22.04.2017, 23:49 [ТС] | 16 |
nd2, так enemy же.
Хорошо, по-другому. В функцию проверки из двух разных функций передаются два объекта поочередно: human и computer. У каждого объекта есть свой массив ships. Как мне в функции check_ending проверить отдельно каждый объект и определить победителя(если в массиве человека, например, остались ячейки со значением 2, а у компьютера только 1 и 3, то человек побеждает) ?
0
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
23.04.2017, 05:54 [ТС] | 18 |
nd2, а как тогда использовать эти объекты в этой функции?
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||||||
23.04.2017, 08:29 | 19 | |||||
Сообщение было отмечено DenKG как решение
Решение
Например так:
1
|
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
|
|
23.04.2017, 08:35 [ТС] | 20 |
likehood, а разве have_no_ships() будет работать без объектов?
0
|
23.04.2017, 08:35 | |
23.04.2017, 08:35 | |
Помогаю со студенческими работами здесь
20
Как определить, что массив не инициализирован? Как определить, инициализирован динамический массив или нет? Массив типа t_arr размещен в динамической памяти по адресу р и инициализирован Какое значение принимает массив символов (char) если он не инициализирован ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |