- •2)Этапы изготовления загрузочного модуля.
- •4)Типы данных.
- •5)Описание типов переменных и именованных констант.
- •6) Классы памяти, область действия, область видимости, время жизни переменных
- •7) Уточнение типа константы (литерала).
- •8)Выражения. Арифметические операции, операции отношения.
- •12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
- •Int main(){ // или просто main()
- •14) Форматный ввод-вывод. Функции ввода и вывода;
- •15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).
- •16) Оператор- выражение. Примеры использования.
- •17) Оператор безусловного перехода. Примеры использования.
- •18) Операторы условного перехода: switch. Примеры использования.
- •19) Операторы условного перехода: if. Примеры использования.
- •20) Операторы цикла: while, do while. Примеры использования.
- •21)Операторы цикла: for. Примеры использования
- •22)Внутреннее представление целых данных.
- •23) Внутреннее представление данных с плавающей точкой
- •24) Другие операторы: break, continue, return. Примеры использования
- •25) Понятие указателя. Виды указателей. Их описание
- •26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.
- •27) Инициализация указателей.
- •28) Одномерные массивы. Описание массивов, их инициализация.
- •29) Связь одномерных массивов с указателями. Динамическое выделение памяти для одномерных массивов.
- •30) Одномерные массивы. Описание массивов, их инициализация.
- •31) Связь двумерных массивов с указателями. Динамическое выделение памяти для двумерных массивов.
- •32) Функции пользователя. Прототипы функций (объявление функций). Структура функции пользователя. Вызов функции. Виды функций.
- •33) Функции пользователя. Способы передачи информации между функциями.
- •34) Функции пользователя. Механизм передачи аргументов в функцию. Передача аргументов функции: передача значений, передача адресов. Возврат результатов из функции.
- •35) Соответствие между фактическими и формальными аргументами. Использование указателей в качестве аргументов. Возврат результатов из функции.
- •36) Понятие ссылки, ее описание. Использование ссылок для передачи аргументов в функцию и обратно.
- •37) Виды функций. Функции с переменным числом аргументов.
- •38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
- •39) Виды функций. Рекурсивные функции.
- •40) Виды функций. Перегруженные функции.
- •41) Виды функций. Шаблоны функций.
- •Inline - функция
- •42) Передача аргументов функции main(). Возврат из функции main().
- •43) Описание строк и символов. Функции ввода-вывода символов и строк.
- •44) Действия над строками и символами.
- •46.Использование указателей на строки. Выделение памяти под строку и под массив строк.
- •47.Типы данных, задаваемые пользователем. Оператор typedef. Перечислимый тип
- •48.Структурированный тип данных: структуры, их описание, доступ к полям структуры, вложенные структуры, указатель на структуру, массивы структур
- •49.Разновидности структуры: битовые поля, смеси (объединения). Использование их для построения сложных структур.
- •50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.
- •51.Файлы в с. Потоковый обмен: блоковый, форматный.
- •53.Объекты и классы. Описание классов. Объявление объектов.
- •2 Способа вызова:
- •54Указатель this.
- •55.Конструкторы и деструкторы. Их назначение. Виды конструкторов.
- •61) Наследование. Производный класс. Конструкторы и деструкторы производных классов.
- •62) Множественное наследование.
53.Объекты и классы. Описание классов. Объявление объектов.
Классы и объекты
Класс является абстрактным типом данных определенным пользователем и объединяет данные и функции, их обрабатывающие в единое целое. Данные класса называются полями, а функции – методами.
Формат описания:
class имя_класса
{
[private:]
// личные данные и
// функции
[protected:]
// //защищенные данные и функции
[public:]
// общие данные и функции
};
К личным данным можно обратиться только через методы, описанные в разделе public. К функциям, описанным в private, могут обращаться только функции класса. Данные и функции, описанные в разделе protected, используются при наследовании. Функции в разделе public доступны всем функциям, находящимся вне класса.
Поля класса могут иметь любой тип, кроме типа этого же класса, но могут быть указателями или ссылками на этот класс. Инициализация полей класса не допускается. Для этой цели используются специальные функции, которые называются конструкторами. Конструкторы имеют тоже имя, что и класс. Классы могут быть локальные и глобальные.
class mon
{
int hed, amm;
public:
mon(int he=100, int am=10)
{hed=he; amm=am;}
void draw(int x, int y, int s, int pos);
int get_h( )
{return hed ;}
int get_a( )
{return amm;}
};
В этом классе два закрытых поля. Получить их значения можно с помощью 2-х функций – get_h() и get_a(). Все методы класса имеют непосредственный доступ к скрытым полям. Если тело метода определяется в классе, то он является встроенной функцией - inline функцией. Если в классе дано описание функции, то сам метод должен быть определен в другом месте программы. Для того чтобы указать, что эта функция является членом класса, в ее заголовке указывают принадлежность к классу с помощью операции :: .
void mon :: draw(int x, int y, int s, int pos)
{тело функции}
Конкретные переменные типа заданного класса называются экземплярами класса или объектами. Время жизни и видимости объектов зависит от вида и места их описания, и подчиняется общим правилам принятым C++.
mon vasa;
mon s(50); // описан объект s с инициализацией первого поля класса
mon st[50]; // массив объектов
mon *B; // указатель на объект
mon &c=vasa; // ссылка на объект vasa
По описанному объекту выделяется память достаточная для хранения всех его полей и автоматически вызывает конструктор для инициализации полей объекта. При выходе из области видимости объект уничтожается, при этом автоматически вызывается деструктор.
Доступ к полям объекта похож на обращение к полям структуры.
2 Способа вызова:
1) через имя объекта с использованием операции
2) через указатель на объект ->
int n=vasa.get_h( );
st[5].draw(10,10,10,10);
int c=B->get_a( );
54Указатель this.
Указатель this. Каждый объект содержит свой экземпляр полей, т е под них выделяется отдельная память. Методы класса находятся в памяти в единственном экземпляре и используются всеми объектами совместно. Для обеспечения такой работы в функцию передают скрытый указатель this, который указывает на объект, вызвавший функцию. Указатель this не явно используется внутри метода для ссылок на поля объекта. В явном виде этот указатель применяется для возвращения из метода указателя или ссылки на вызвавший объект.
return this; //указатель
return *this; // ссылка
Указатель this используется для идентификации поля класса в том случае, если его имя совпадает с именем формального аргумента.