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

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

edrive.narod.ru
from edrive.narod.ru More from this publisher
13.01.2015 Views

void _ _fastcall TForm1::FormMouseMove (TObject *Sender, TShiftState Shift, int X, int Y) { if (drawing) Canvas–>LineTo (X, Y); } 34 Еще одна функция показывает работу методов Delete (удаление букв) и Length (длина строки) класса AnsiString в операции сцепления первой буквы слова a, точки и слова b: void Ifs3 () { AnsiString a = MyForm–>Edit1–>Text; AnsiString b = MyForm–>Edit2–>Text; AnsiString c = a.Delete (2, a.Length () – 1); if (a > b) MyForm–>Label1–>Caption = c + '.' + b + '\n' + a; else MyForm–>Label1–>Caption = a + '\n' + c + '.' + b; } Составные операторы могут иметь любую глубину вложенности. Но «вложенный набор операторов if...else иногда напоминает водопровод старого дома: система работает, но трудно понять, какая труба куда ведет» [9]. Оператор выбора Оператор выбора служит для организации хода вычислительного процесса в зависимости от значения выражения или переменной: switch (порядковаяПеременная) { case Константа : Выражение… ... [default : Выражение…] } После выполнения каждого выражения действие передается следующему выражению. Для прерывания этой последовательности обработку каждой константы в операторе выбора завершают оператором break. Выражения, открываемые лексемой default, рассчитаны на обработку незапланированных значений логического выражения. Пример: void Cases () { AnsiString day; int n = StrToInt (MyForm–>Edit1–>Text); switch (n) { case 1: day = "Понедельник"; break; case 2: day = "Вторник"; break; case 3: day = "Среда"; break;

} 35 case 4: day = "Четверг"; break; case 5: day = "Пятница"; break; case 6: day = "Суббота"; break; case 7: day = "Воскресенье"; break; default: day = "Ошибка ввода"; } MyForm–>Label1–>Caption = day; Следующий пример посвящен работе с формой, в классе которой есть параметр. Для передачи форме значения параметра newArg класс формы дополнен вторым конструктором: class TLocalForm : public TForm { __published: TLabel *Label1; public: __fastcall TLocalForm (TComponent* Owner); __fastcall TLocalForm (int newArg, TComponent* Owner); }; __fastcall TLocalForm::TLocalForm (int newArg, TComponent* Owner): TForm (Owner) { switch (newArg) { case 1: Label1–>Caption = "Обычная форма"; break; case 2: Label1–>Caption = "Форма с параметром"; break; } } Оператор цикла Оператор цикла организует повторяющийся вычислительный процесс в заданном диапазоне изменения переменной-счетчика цикла: for ([ выражениеИнициализации ]; [ выражениеУсловия ]; [ выражениеИтерации ]) Выражение… Выражения цикла, условия и итерации строятся с использованием переменной-счетчика цикла, который относится к одному из порядковых типов. Выражение итерации может быть как увеличивающимся, так и уменьшающимся, например, a++, b–=2 или c– –. По завершении цикла значение переменной-счетчика остается неопределенным. Далее приведен простой пример с оператором цикла – вывод алфавита в заголовок формы:

}<br />

35<br />

case 4: day = "Четверг"; break;<br />

case 5: day = "Пятница"; break;<br />

case 6: day = "Суббота"; break;<br />

case 7: day = "Воскресенье"; break;<br />

default: day = "Ошибка ввода";<br />

} MyForm–>Label1–>Caption = day;<br />

Следующий пример посвящен работе с формой, в классе которой есть<br />

параметр. Для передачи форме з<strong>на</strong>чения параметра newArg класс формы дополнен<br />

вторым конструктором:<br />

class TLocalForm : public TForm {<br />

__published: TLabel *Label1;<br />

public:<br />

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

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

};<br />

__fastcall TLocalForm::TLocalForm (int newArg, TComponent* Owner):<br />

TForm (Owner) {<br />

switch (newArg) {<br />

case 1: Label1–>Caption = "Обыч<strong>на</strong>я форма"; break;<br />

case 2: Label1–>Caption = "Форма с параметром"; break;<br />

}<br />

}<br />

Оператор цикла<br />

Оператор цикла организует повторяющийся вычислительный процесс в<br />

заданном диапазоне изменения переменной-счетчика цикла:<br />

for ([ выражениеИнициализации ];<br />

[ выражениеУсловия ];<br />

[ выражениеИтерации ]) Выражение…<br />

Выражения цикла, условия и итерации строятся с использованием переменной-счетчика<br />

цикла, который относится к одному из порядковых типов.<br />

Выражение итерации может быть как увеличивающимся, так и уменьшающимся,<br />

<strong>на</strong>пример, a++, b–=2 или c– –. По завершении цикла з<strong>на</strong>чение переменной-счетчика<br />

остается неопределенным.<br />

Далее приведен простой пример с оператором цикла – вывод алфавита<br />

в заголовок формы:

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

Saved successfully!

Ooh no, something went wrong!