ВУЗ:
Составители:
Рубрика:
27
TControlCanvas «по значению», т.е. содержать в себе все поля объекта типа
TControlCanvas. В языке C описание объекта по значению приводит к тому,
что в месте описания происходит создание реального экземпляра объекта
– вызывается его «конструктор по умолчанию» и все поля
инициализируются.
• В языке C нет процедур, как в Delphi, - только функции. Те функции,
которые не возвращают значений, имеют тип
void. Они являются
аналогами процедур в Delphi.
• В C++ Builder в описании всех методов классов участвует модификатор
__fastcall. Его смысл - обеспечить компиляцию в наиболее быстрый
способ вызова метода при выполнении кода.
• В языке C даже, если функция не имеет параметров, в ее описании
должны стоять скобки как в
GetSpriteRect().
• В отличие от Delphi транслятор с языка C различает прописные и
строчные буквы. Поэтому принято давать одинаковые имена полям и
соответствующим свойствам, но начинать имена полей со строчной
буквы, а свойств – с прописной буквы. Сравните, к примеру, описания
поля
count и свойства Count.
• Обратите внимание на синтаксис описания свойств в C++ Builder.
• Конструктор в C++ отличается от других методов тем, что его имя
совпадает с именем класса и что он не возвращает никакой тип, даже
void.
• Имя деструктора также совпадает с именем класса, но перед именем
дается знак отрицания ~. Как и констуктор, деструктор не возвращает
какой-либо тип. Кроме того, деструктор не должен иметь параметров.
Деструктор часто объявляется виртуальным. В этом случае деструкторы
всех наследников автоматически становятся виртуальными.
• В C++ модификатор
virtual у виртуальных методов не заменяется у
наследников на
override, а остается virtual.
• В реализации на C++ у метода
AddSprite есть только один параметр –
ссылка на объект класса
TSprite. Поэтому при обращении к методу
AddSprite объект спрайта должен быть уже создан. В C++ нет возможности
вызвать конструктор объекта, тип класса которого является переменной,
как это делается в Delphi.
• При описании заголовков метода в хэдере языка C можно не указывать
явно идентификаторы параметров – достаточно только типы. Так, в
заголовке метода
AddSprite указан только тип единственного параметра
TSprite* const. Модификатор const играет ту же роль, что и в Delphi –
параметр, объявленный как
const, - не меняет своего значения внутри
функции.
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »