Разработка прикладных программ для ОС WINDOWS с помощью интегрированных сред Delphi / C++Builder. Баканов В.М. - 82 стр.

UptoLike

Составители: 

- 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'я оператор присваивания суть сочетания двоеточия и знака ра-