ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
Массив указателей на базовый класс |

25.06.2009, 16:47
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Массив указателей на базовый класс
Есть массив указателей MainArray на базовый класс string. Нужно динамически заполнять его указателями на производный класс stringid. С этим проблем не возникает. Но вот такой код не работает:
Код:
(*(MainArray[i]))->CharsDown();
так как метод CharsDown() является членом производного класса stringid, а указатель у нас на объект класса string, в котором он и ищет данный метод. Как в данном случае вызвать CharsDown() ???
|
|
|

25.06.2009, 17:14
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Код:
static_cast<stringid *>(MainArray[i])->CharsDown();
|
|
|

25.06.2009, 17:35
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Borland C++ 3.11 ругается вот так на эту строку:
Undefined symbol: static_cast
Inproper use of typedef: stringid
Expression syntax
|
|
|

25.06.2009, 17:46
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Как я понимаю, такой вариант решения проблемы относится к Visual C++. Я его не могу использовать никаким образом.
|
|
|

25.06.2009, 17:52
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
Сообщение от herfleisch
Borland C++ 3.11 ругается вот так на эту строку:
Undefined symbol: static_cast
Inproper use of typedef: stringid
Expression syntax
под windows 3 компилиш??
|
|
|

25.06.2009, 18:21
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Под вистой. Борландом пользую, потому что в лабораторной нужно обязательно использовать conio.h.
|
|
|

25.06.2009, 19:55
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
ну делай классическое приведение типов
((stringid *)MainArray[i])->CharsDown();
|
|
|

25.06.2009, 20:03
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме: 725870
Репутация:
208
|
|
Сообщение от herfleisch
Под вистой. Борландом пользую, потому что в лабораторной нужно обязательно использовать conio.h.
В студии тоже есть conio.h
Это стандартная библиотека С
|
|
|

25.06.2009, 20:12
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
В студии она есть, только нужных мне функций она не содержит.
|
|
|

25.06.2009, 20:28
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Спасибо за ответы. Больше всего тут уместно явное приведение типов. Просто поначалу я как-то коряво им воспользовался и мне показалось что это не пройдёт.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|