Deutsch

Актуальный язык программирования

568  1 2 3 4 5 все
Murr старожил13.05.05 03:20
Murr
NEW 13.05.05 03:20 
в ответ scorpi_ 12.05.05 22:08
Увы, с собой - нету. А вспоминать что и как в деталях - ууууу... Да и всей документации по RTTI под руками нет. impossible, на сейчас, в общем...
<--- nobody harmed in this action -->
#81 
scorpi_ скептик13.05.05 13:55
NEW 13.05.05 13:55 
в ответ Murr 13.05.05 03:20
Болтун ты короче говоря, и С++ совершенно не знаешь.
Вот тебе выдержка из документации к BCB 6
В ответ на:


Runtime type identification (RTTI) lets you write portable code that can determine the actual type of a data object at runtime even when the code has access only to a pointer or reference to that object. This makes it possible, for example, to convert a pointer to a virtual base class into a pointer to the derived type of the actual object. Use the dynamic_cast operator to make runtime casts.
The RTTI mechanism also lets you check whether an object is of some particular type and whether two objects are of the same type. You can do this with typeid operator, which determines the actual type of its argument and returns a reference to an object of type const type_info, which describes that type.
You can also use a type name as the argument to typeid, and typeid will return a reference to a const type_info object for that type. The class type_info provides an operator== and an operator!= that you can use to determine whether two objects are of the same type. Class type_info also provides a member function name that returns a pointer to a character string that holds the name of the type.



I did it my way

#82 
scorpi_ скептик13.05.05 14:25
NEW 13.05.05 14:25 
в ответ Murr 13.05.05 03:20
И ещё вдогонку: функция Create() всплывает в VCL в одном, единственном контексте - как метод класса TCoClassCreatorT. Так что Вы, господин Болтун, RTTI с COM перепутали, с чем я Вас и поздравляю.
I did it my way
#83 
Murr старожил13.05.05 14:43
Murr
NEW 13.05.05 14:43 
в ответ scorpi_ 13.05.05 14:25, Последний раз изменено 13.05.05 14:45 (Murr)
Да бог с ним - грузятся неизвестные классы в Плюсах при наличии RTTI...
Поройся в Фидошном или CPSовском архиве - туда постилось что и как...
Нужды в этом, однако, у меня не возникало уже лет пять и хай им будет...
<--- nobody harmed in this action -->
#84 
scorpi_ скептик13.05.05 14:50
NEW 13.05.05 14:50 
в ответ Murr 13.05.05 14:43
А ты оказывается не только болтун, но ещё и трус. Свои ошибки надо уметь признавать.
I did it my way
#85 
Simple Nothing is f*cked13.05.05 15:36
Simple
NEW 13.05.05 15:36 
в ответ scorpi_ 13.05.05 14:25
И не лень же тебе было копаться в этом барахле. И все ради того, чтобы уличить кого-то. Злой ты :-DD
And so, Theodore Donald Karabotsos, ... we commit your mortal remains to the bosom of the Pacific Ocean, which you loved so well.(с)
#86 
Murr старожил13.05.05 16:19
Murr
NEW 13.05.05 16:19 
в ответ scorpi_ 13.05.05 14:50
функция Create() всплывает в VCL в одном, единственном контексте - как метод класса
------
Уважаемого Сэра scorpi_ в ближайшем будущем, при его желании, ждут несколько удивительных открытий. В частности, он может открыть, что:
- метод Create() присущь любому VCL-классу, в том числе и такому, как пустой и "не имеющий" предка класс
- метод Create() любого VCL-класса является его конструктором по умолчанию
- метод Create() является виртуальным
- содание класса через new абсолютно эквивалентено (и заменяемо) вызову метода Create()...
Да и много еше чего там можно открывать...

<--- nobody harmed in this action -->
#87 
scorpi_ скептик13.05.05 16:52
NEW 13.05.05 16:52 
в ответ Simple 13.05.05 15:36
не, обычно я добрый. Просто мурка меня достала своими голословными высказываниями...
I did it my way
#88 
scorpi_ скептик13.05.05 17:04
13.05.05 17:04 
в ответ Murr 13.05.05 16:19
Ладно, уговорил есть там конструктор Create. Просто в этом дерьме документация идиотская, поэтому не сразу нашёл. Но какое отношение имеют эти паскалевские файлы к С++ и RTTI? Никакого!
I did it my way
#89 
Murr старожил13.05.05 17:29
Murr
NEW 13.05.05 17:29 
в ответ scorpi_ 13.05.05 17:04
Дело в том, что имплементация RTTI в СБилдере - ObjectPaskal'евская. Из модуля можно получить имя класса и создать обект по имени. Это базовые возможности VCL-ного TObject'a... или TPersistent.. Create() ведь виртуальный конструктор, а TObject - базовый класс всей VCL-иерархии...
Просто в 6-ке это уже не нужно - есть, ну какую уж сделали, возможность реализации отдельных интерфейсов и получения инфлормации об них. Не COM, но уже Run-time информация об имплементации.
к С++ и RTTI? Никакого!
------
Читай внимательно - изначально говорилось, что такая возможность реализовывалась в BCB 4.0...
<--- nobody harmed in this action -->
#90 
1 2 3 4 5 все