ВУЗ:
Составители:
Рубрика:
- 82 -
call make_app.bat magic_e
call make_app.bat maglc_a
call make_app.bat magic_b
call make_app.bat magic_s
13. ОСНОВНЫЕ ОТЛИЧИЯ СИНТАКСИСА C++Builder'a ОТ Delphi
В данном разделе приведены (в основном чисто формальные) отличия
синтаксиса основных для систем Delphi и C++Builder языков программиро-
вания. В пределах этого раздела под 'Pascal-ем' понимается Object Pascal 8.0
для Delphi, термин 'C++' указывает на версию основного для C++Builder'a
языка программирования.
Для обращения
к любой компонентной функции, свойству или перемен-
ной в Pascal'e используется оператор 'точка', например
Label1.Caption:='Hello, BAKANOV !';
В C++ для указания на размещенные в 'куче' (heap) объекты служит опе-
ратор 'стрелка'
Label1->Caption="Hello, BAKANOV !";
а сами размещенные в 'куче' объекты создаются функцией new и принуди-
тельно униятожаются функцией delete
TLabel *Label1 = new TLabel(0); // создать объект без
// указания владельца
delete Label1; // уничтожить объект, созданный без
// указания владельца
В случае динамического создания объекта конструктору следует сооб-
щить (в качестве параметра передается указатель this) информацию о вла-
дельце данного объекта (например, формы); в этом случае ответственность за
разрушение объекта (вызов delete) берет на себя его владелец
TLabel *Label1 = new TLabel(this); // создать объект с указанием
// владельца в виде this
// delete Label1; // нет необходимости принудительно
// уничтожать объект, созданный с
// указанием владельца при создании
Для Pascal'я оператор присваивания суть сочетания двоеточия и знака ра-
- 82 - call make_app.bat magic_e call make_app.bat maglc_a call make_app.bat magic_b call make_app.bat magic_s 13. ОСНОВНЫЕ ОТЛИЧИЯ СИНТАКСИСА C++Builder'a ОТ Delphi В данном разделе приведены (в основном чисто формальные) отличия синтаксиса основных для систем Delphi и C++Builder языков программиро- вания. В пределах этого раздела под 'Pascal-ем' понимается Object Pascal 8.0 для Delphi, термин 'C++' указывает на версию основного для C++Builder'a языка программирования. Для обращения к любой компонентной функции, свойству или перемен- ной в Pascal'e используется оператор 'точка', например Label1.Caption:='Hello, BAKANOV !'; В C++ для указания на размещенные в 'куче' (heap) объекты служит опе- ратор 'стрелка' Label1->Caption="Hello, BAKANOV !"; а сами размещенные в 'куче' объекты создаются функцией new и принуди- тельно униятожаются функцией delete TLabel *Label1 = new TLabel(0); // создать объект без // указания владельца delete Label1; // уничтожить объект, созданный без // указания владельца В случае динамического создания объекта конструктору следует сооб- щить (в качестве параметра передается указатель this) информацию о вла- дельце данного объекта (например, формы); в этом случае ответственность за разрушение объекта (вызов delete) берет на себя его владелец TLabel *Label1 = new TLabel(this); // создать объект с указанием // владельца в виде this // delete Label1; // нет необходимости принудительно // уничтожать объект, созданный с // указанием владельца при создании Для Pascal'я оператор присваивания суть сочетания двоеточия и знака ра-