ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Массив указателей на базовый класс
  #1  
Старый 25.06.2009, 16:47
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию Массив указателей на базовый класс

Есть массив указателей MainArray на базовый класс string. Нужно динамически заполнять его указателями на производный класс stringid. С этим проблем не возникает. Но вот такой код не работает:
Код:
(*(MainArray[i]))->CharsDown();
так как метод CharsDown() является членом производного класса stringid, а указатель у нас на объект класса string, в котором он и ищет данный метод. Как в данном случае вызвать CharsDown() ???
 
Ответить с цитированием

  #2  
Старый 25.06.2009, 17:14
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Код:
static_cast<stringid *>(MainArray[i])->CharsDown();
 
Ответить с цитированием

  #3  
Старый 25.06.2009, 17:35
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Borland C++ 3.11 ругается вот так на эту строку:

Undefined symbol: static_cast
Inproper use of typedef: stringid
Expression syntax
 
Ответить с цитированием

  #4  
Старый 25.06.2009, 17:46
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Как я понимаю, такой вариант решения проблемы относится к Visual C++. Я его не могу использовать никаким образом.
 
Ответить с цитированием

  #5  
Старый 25.06.2009, 17:52
LEE_ROY
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме:
1917742

Репутация: 541


По умолчанию

Цитата:
Сообщение от herfleisch  
Borland C++ 3.11 ругается вот так на эту строку:

Undefined symbol: static_cast
Inproper use of typedef: stringid
Expression syntax
под windows 3 компилиш??
 
Ответить с цитированием

  #6  
Старый 25.06.2009, 18:21
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Под вистой. Борландом пользую, потому что в лабораторной нужно обязательно использовать conio.h.
 
Ответить с цитированием

  #7  
Старый 25.06.2009, 19:55
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

ну делай классическое приведение типов
((stringid *)MainArray[i])->CharsDown();
 
Ответить с цитированием

  #8  
Старый 25.06.2009, 20:03
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
По умолчанию

Цитата:
Сообщение от herfleisch  
Под вистой. Борландом пользую, потому что в лабораторной нужно обязательно использовать conio.h.
В студии тоже есть conio.h
Это стандартная библиотека С
 
Ответить с цитированием

  #9  
Старый 25.06.2009, 20:12
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

В студии она есть, только нужных мне функций она не содержит.
 
Ответить с цитированием

  #10  
Старый 25.06.2009, 20:28
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Спасибо за ответы. Больше всего тут уместно явное приведение типов. Просто поначалу я как-то коряво им воспользовался и мне показалось что это не пройдёт.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс для работы с сокетами на С++ _Great_ С/С++, C#, Delphi, .NET, Asm 32 10.09.2009 10:51
Путеводитель по последним мобильным новинкам. Декабрь 2006 года _GaLs_ Аппаратное обеспечение 0 31.01.2007 18:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ