powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Borland C++ (метод базового класса)
4 сообщений из 4, страница 1 из 1
Borland C++ (метод базового класса)
    #34608777
__Jet__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки!
Я совсем новичок в C++
И хотел бы спросить у Вас следующее:
Например есть базовый класс, точный синтаксис не знаю, опишу абстрактно, думаю Вы поймете.

Есть базовый класс, в котором есть метод получения значения поля, имя поля передается методу

-------------
Class Parent

func GetField(const аИмяПоля :String) :Variant

Return &&& значение поля 'аИмяПоля'

End;

End;
------------

Так вот, как можно написать метод GetField() у базового класса, чтобы он возвращал значение переданного поля аИмяПоля?

Подскажите пожалуйста, там наверное надо какие-то макроподстановки есть или что-н подобное?

Заранее Спасибо!
...
Рейтинг: 0 / 0
Borland C++ (метод базового класса)
    #34609067
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То что вы хотите, называется RTTI - run-time type information

То есть получение информации о типах данных в процессе выполенения. Все "имена" полей существуют в принципе только в вашей текстовой программе - в исполняемом коде их НЕТ, есть только смещения по которым они расположены.
Чтобы такая штука работала надо где-то хранить таблицу, где бы шла привязка имени поля к его указателю на член класса (фактически на смещение). Самостоятельно компилеры организуют такие таблицы например для виртуальных функций (VM-table), чтобы осуществлять их вызов (хотя текстовые имена там не всегда присутсвуют).

Так что надо вначале понять - а зачем городить огород? Что вообще нужно и зачем?

________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Borland C++ (метод базового класса)
    #34609980
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, как я понимаю, автору хочется не тип узнать, а значение переменной класса по его имени в одной функции. (Если я правильно понимаю термин Поле у автора...
Извратиться можно, конечно, используя препроцессор, вот рекомендовать такое я не буду, ибо это зло в С++ есть отличный механизм перегрузки функций, почему-бы не воспользоваться им?
...
Рейтинг: 0 / 0
Borland C++ (метод базового класса)
    #34612264
__Jet__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Ребята за помощь!

Да именно так, мне хотелось получить значение по имени переменной. А компилятор ругался на базовый класс, типа нет такой переменной у класса.
ОК, я понял все. Доберусь до своей книги и тщательно изучу, а потом еще раз попробую сделать все правильно и тогда может и получится!

Спасибо еще раз!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Borland C++ (метод базового класса)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]