13.01.2015 Views

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

AnsiString TForm1::CalcF (double a, double b) { return a / b; }<br />

AnsiString TForm1::CalcSF (AnsiString a, double b) {<br />

return a + FloatToStr (++b);<br />

}<br />

AnsiString TForm1::CalcS (AnsiString a, AnsiString b) {<br />

return “Имя: “ + a + “\nФамилия: “ + b;<br />

}<br />

30<br />

Еще один пример посвящен передачи данных из модальной формы в<br />

обычную. Необходимые данные должны быть получены до того, как модаль<strong>на</strong>я<br />

форма будет уничтоже<strong>на</strong>. Это удобно делать, в частности, через дополнительный<br />

параметр конструктора. В рассматриваемом примере таким параметром<br />

является указатель *arg, который инициализируется в конструкторе.<br />

При <strong>на</strong>жатии кнопки Button1 запомненный по указанному адресу заголовок<br />

формы переносится в <strong>на</strong>дпись Label1 не модальной формы:<br />

class TLocalForm : public TForm {<br />

__published: TLabel *Label1;<br />

public:<br />

__fastcall TLocalForm (TComponent* Owner);<br />

__fastcall TLocalForm (String *arg, TComponent* Owner);<br />

};<br />

__fastcall TLocalForm::TLocalForm (String *arg, TComponent*Owner):<br />

TForm (Owner) { *arg = this–>Caption; }<br />

void __fastcall TForm1::Button1Click (TObject *Sender) {<br />

String s;<br />

TLocalForm *LocalForm = new TLocalForm (&s, 0);<br />

LocalForm–>ShowModal(); delete LocalForm;<br />

this–>Label1–>Caption = s;<br />

}<br />

Контрольные вопросы<br />

1. В чем заключается разница между объявлением, определением и вызовом<br />

функций<br />

2. Как обмениваются данными функции<br />

3. В чем состоит разница между локальными и глобальными данными<br />

4. В чем разница между параметром функции и ее аргументом<br />

5. Существует ли разница в терми<strong>на</strong>х функция, член-функция и метод

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!