Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Опишите принцип организации ввода элементов массива с помощью компонента Edit.

Виртуальные метода и полиморфизм. | Друзья-функции и друзья-классы. | Инкапсуляция , полиморфизм и наследование | Множественное наследование |


Читайте также:
  1. II – 13. Согласно Принципу относительности Галилея
  2. II. Основные положения по организации практики
  3. II. Требования к организации деятельности исполнителя
  4. III. Нарушения мотивационного компонента мышления.
  5. III. ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ ПЕРВИЧНОЙ ОРГАНИЗАЦИИ ПРОФСОЮЗА
  6. IV – 10. Согласно принципу эквивалентности масс
  7. Q они принципиально рассматривают внешнее окружение как ключевой фактор человеческого поведения. Именно окружение, а отнюдь не внутренние психические явления, формирует человека;

После щелчка на кнопке «Ввод» программа выполнит следующие действия:

1) Выделит из введенной строки первую подстроку с числом;

2) Преобразует ее в число;

3) Присвоит полученное значение первому элементу массива;

4) Выделит каждое последующее значение строки и осуществит с ним действия п.2 и п.3.

4. Какой раздел содержит текст функции и процедур, определенных программистов?

Текст функций и процедур, содержит у программистов раздел процедур и функций

Компонент Edit используется для ввода информации,с возможностью впоследствии ее исправить.

 

21) Объекты, классы, экземпляры класса. Пример.

В объектно-ориентированной программе с применением классов каждый объект является «экземпляром» некоторого конкретного класса, и других объектов не предусмотрено. То есть «экземпляр класса» в данном случае означает не «пример некоторого класса» или «отдельно взятый класс», а «объект, типом которого является какой-то класс». При этом в разных языках программирования допускается либо не допускается существование еще каких-то типов данных, экземпляры которых не являются объектами (то есть язык определяет, являются ли объектами такие вещи, как числа, массивы и указатели, или не являются, и, соответственно, есть ли такие классы как «число», «массив» или «указатель», экземплярами которых были бы каждое конкретное число, массив или указатель).

Например, абстрактный тип данных «строка текста» может быть оформлен в виде класса, и тогда все строки текста в программе будут являться объектами — экземплярами класса «строка текста».

При использовании классов все элементы кода программы, такие как переменные, константы, методы, процедуры и функции, могут принадлежать (а во многих языках обязаны принадлежать) тому или иному классу. Сам класс в итоге определяется как список своих членов, а именно полей (свойств) и методов/функций/процедур. В зависимости от языка программирования к этому списку могут добавиться константы, атрибуты и внешние определения.

Как и структуры, классы могут задавать поля — то есть переменные, принадлежащие либо непосредственно самому классу (статические), либо экземплярам класса (обычные). Статические поля существуют в одном экземпляре на всю программу (или, в более сложном варианте, — в одном экземпляре на процесс или на поток/нить). Обычные поля создаются по одной копии для каждого конкретного объекта — экземпляра класса. Например, общее количество строк текста, созданных в программе за время её работы, будет являться статическим полем класса «строка текста». А конкретный массив символов строки будет являться обычным полем экземпляра класса «строка текста», так же как переменная «фамилия», имеющая тип «строка текста», будет являться обычным полем каждого конкретного экземпляра класса «человек».

В ООП при использовании классов весь исполняемый код программы (алгоритмы) будет оформляться в виде так называемых «методов», «функций» или «процедур», что соответствует обычному структурному программированию, однако теперь они могут (а во многих языках обязаны) принадлежать тому или иному классу. Например, по возможности, класс «строка текста» будет содержать все основные методы/функции/процедуры, предназначенные для работы со строкой текста, такие как поиск в строке, вырезание части строки и т. д.

Как и поля, код в виде методов/функций/процедур, принадлежащих классу, может быть отнесен либо к самому классу, либо к экземплярам класса. Метод, принадлежащий классу и соотнесенный с классом (статический метод) может быть вызван сам по себе и имеет доступ к статическим переменным класса. Метод, соотнесенный с экземпляром класса (обычный метод), может быть вызван только у самого объекта, и имеет доступ как к статическим полям класса, так и к обычным полям конкретного объекта (при вызове этот объект передастся скрытым параметром метода). Например, общее количество созданных строк можно узнать из любого места программы, но длину конкретной строки можно узнать только указав, тем или иным образом, длину какой строки будем мерить.

Сам класс не является объектом, однако, в зависимости от языка программирования и платформы, программисту могут быть доступны те или иные объекты, позволяющие получить информацию о классе — название, список членов, объем памяти, занимаемой классом или отдельным экземпляром. Например, может существовать специальный класс «тип данных», экземпляры которого описывают тот или иной конкретный класс, существующий в программе.

 

22. Оператор for.
Оператор For используется в том случае, если некоторую последовательность команд необходимо выполнить несколько раз, причем число повторений заранее известно.
For (инициализация; выражение; модификация)
{
Группа команд
}

 

23.Оператор if в C++.
Выбор действия в зависимости от выполнения условия может быть реализован при помощи оператора IF, который можно записать как:
If (условие)
{
Команды, которые выполняются, если условие верно (истина)
}
else
{
Команды, которые выполняются, если условие ложно
}


24.Оператор while в C++.
Используют, когда некоторую последовательность команд надо выполнить несколько раз, а число повторений не известно.
While (условие-выражение логического типа)
{
Группа команд
}
Группа команд выполняется пока условие истинно.

 

25.Основные окна среды визуального программирования.
Вид экрана после запуска Borland несколько необычен: вместо одного появляются три окна: главное окно, окно формы и окно инспектора объектов. В главном окне находится меню команд, панель инструментов и палитра компонентов.
Окно формы (его заголовок Form1) представляет собой заготовку — макет одного из окон разрабатываемого.
Окно Инспектора объектов (его заголовок Object Inspector) позволяет видеть и менять характеристики (свойства) объектов проекта. После запуска Borland C++ Builder в этом окне находятся свойства формы Form1.


26.Основные принципы работы с графическими объектами.
Визуальный компонент TImage создает на форме контейнер графического изображения (битового образа, пиктограммы или метафайла).
Большинство свойств компонента TImage такиеже как и у многих других компонент (положение изобрыжения на форме, его размеры, помощь, отображение подсказок и т.п.). Среди "не стандартных" свойств, отметим:
· Picture. Контейнер графики. Окно загрузки файлов изображений открывается кнопкой в графе свойства Picture компонента TImage. Кроме того это свойство имеет методы LoadFromFile(), SaveToFile().
· AutoSize. Чтобы контейнер изменил свои размеры так, чтобы вместить изображение целиком, устанавливается значение true свойства AutoSize.
· Stretch. Чтобы исходное изображение растянулось на весь контейнер, задается значение true свойства Stretch.
· Center - если AutoSize=false, то изображение помещается в центре компонента.
· IncrementalDisplay - если true, то при загрузке больших файлов они будут показываться по частям по мере загрузки.
· Transparent - считает цвет одного из угловых пикселей цветом прозрачности (левый нижний).
Отметим, что класс TImage может создаваться и как невизуальный компонент и использовать теже свойства и методы, что и визуальный компонент. и оба они могут использовать канву:
//Визуальный компонент
Image1->Canvas...
//Класс
TImage *tImage;
tImage=new TImage(this);
tImage->Canvas
Рассмотрение вопросов параграфа темы будем вести на примерах, в которых последовательно показывается использование основных свойств и методов компонента и класса TImage. Работа с ресурсами выделена в отдельный раздел (см. Работа с ресурсами в Borland C++ Builder) и здесь опущена.
Кроме того, так как эти классы инкапсулируют в свойстве TPicture классы TBitmap, TIcon и TMetafile, то все, что относится непосредственно к работе с этими классами, более подробно можно посмотреть в предыдущем параграфе. Здесь же основное внимание уделено технологии работе с классами.

27.Перегрузка процедур и функций.
Перегрузка процедур и функций — возможность использования одноимённых подпрограмм: процедур или функций в языках программирования.
В большинстве ранних языков программирования, для упрощения процесса трансляции существовало ограничение, согласно которому одновременно в программе не может быть доступно более одной процедуры с одним и тем же именем. В соответствии этому ограничению, все подпрограммы, видимые в данной точке программы, должны иметь различные имена.
Имена и обозначения процедур и функций, являющихся частью языка программирования, не могут быть использованы программистом для именования собственных подпрограмм.
Для того, чтобы иметь возможность использовать несколько вариантов подпрограммы с одним и тем же именем, но с разным числом аргументов или другими типами аргументов (то есть с разной сигнатурой) и вводится перегрузка подпрограмм. Такая перегрузка возможна в рамках процедурной парадигмы, без применения объектно-ориентированного программирования.
При трансляции происходит контроль одноимённых процедур и функций, чтобы они различались по сигнатуре, так как в этом случае транслятор может однозначно определить вызов нужной подпрограммы.
Чтобы исключить ошибку программиста давшему случайно имя подпрограмме, которое уже используется, вводится дополнительное требование написания ключевого слова.

 

28) Передача параметров в процедуры C++ по ссылке и по значению.

Параметры в процедуры и функции можно передавать 2 способами - по значению и по ссылке. Отличия между этими двумя способами следующие - при передаче параметра по значению в процедуру (функцию) передается копия переменной, а при передаче по ссылке - оригинал (сама переменная).

Передача параметра по ссылке означает что копируется не само значение, а адрес исходной переменной (как в случае передачи параметра по адресу), однако синтаксис используется такой, чтобы программисту не приходилось использовать операцию разыменования и он мог иметь дело непосредственно со значением, хранящимся по этому адресу (как в случае передачи параметра по значению).

Передача по ссылке позволяет избежать копирования всей информации, описывающей состояние объекта (а это может быть существенно больше чем sizeof(int)) и является необходимой для конструктора копирования.

Если функция возвращает значение по ссылке (например, в виде «return *this;»), то её вызов можно использовать слева от оператора присваивания (смотри также L-выражение).

В случае если передача по ссылке используется именно как средство увеличения быстродействия, но изменение параметра нежелательно, можно использовать передачу по ссылке константного объекта.

Таким образом можно ожидать, что примерная программа напечатает (если закоментировать ошибочную строку) «0010 022 233 333».

Некоторые языки (или их диалекты) не поддерживают передачу по ссылке, некоторые наоборот - передают параметры исключительно по ссылке, что порождает риск непреднамеренного изменения контекста вызывающей функции.


Передача параметра по значению означает что вызывающая функция копирует в память, доступную вызываемой, (обычно стек) непосредственное значение. Изменение копии переменной, соответственно, оригинал не затрагивает.

30. Класс и объект С++. Назначение элементов и методов класса.
Класс представляет собой главное инструментальное средство С++ для ООП.
^ Класс – это переменная, в которой определены все атрибуты будущего объекта, а также его

методы.
Объект – это переменная, объявленная от объектного типа (экземпляра объекта).
Атрибуты – это переменные, которые характеризуют объект. Атрибуты объявляются внутри класса.

31) Преимущества объектно-ориентированного программирования.

В связи со своими особенностями объектно-ориентированное программирование имеет ряд преимуществ перед структурным (и др.) программированием. Выделим некоторые из них:

Использование одного и того же программного кода с разными данными. Классы позволяют создавать множество объектов, каждый из которых имеет собственные значения атрибутов. Нет потребности вводить множество переменных, т.к объекты получают в свое распоряжение индивидуальные так называемые пространства имен. Пространство имен конкретного объекта формируется на основе класса, от которого он был создан, а также от всех родительских классов данного класса. Объект можно представить как некую упаковку данных.

Наследование и полиморфизм позволяют не писать новый код, а настраивать уже существующий, за счет добавления и переопределения атрибутов. Это ведет к сокращению объема исходного кода.

Особенность ООП

ООП позволяет сократить время на написание исходного кода, однако ООП всегда предполагает большую роль предварительного анализа предметной области, предварительного проектирования. От правильности решений на этом предварительном этапе зависит куда больше, чем от непосредственного написания исходного кода.

36. События объектов.

Событие. Обработчик события. Инспектор объектов.
Событие – это специальный метод, который реагирует на потоки, возникающие в ОС или в программе.

Обработчик события – это процедура обработки события – реакция на событие.
Окно инспектора объектов состоит из 2 частей:

 

1.
Properties (свойства) описывает свойства объекта;

2.
Events (события) описывает события, которые можно совершать над объектом.

 

 

37. Ссылки и указатели.
Указатель представляет собой адрес памяти, который указывает или ссылается на определенный участок.

Чтобы объявить указатель, имя переменной предваряется *.
^ Ссылка позволяет создать псевдоним или второе имя для переменных.

Синтаксис: <тип>& <псевдоним>=<имя переменной>;

Ссылка не является переменной.

 

39. Типы данных С++. примеры

Все типы языка С++ можно разделить на простые (скалярные), составные (агрегатные) и функциональные. Простые типы могут быть стандартными и определенными программистом.


Дата добавления: 2015-08-27; просмотров: 54 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Наследование классов и производные классы| Инструкция: ответьте на каждый вопрос «да», если он верно описывает ваше поведение и «нет», если ваше поведение не соответствует тому, о чем говорится в вопросе.

mybiblioteka.su - 2015-2024 год. (0.011 сек.)