
- •Як описуються цілі числа?
- •Порядкове читання вводу.
- •Що робить функція-член get ()?
- •Клас string.
- •Створення структури.
- •Що робить оператор enum?
- •Як робиться перерахування значень?
- •1. Змінна і змінна показника.
- •Копіювання рядка із масиву.
- •Використання операцій new та delete.
- •13. Отримання простору пам’яті.
- •Комбіновані операції присвоювання
- •Вирази відношень
- •Аналіз умови циклу:
- •Логічні оператори.
- •Простий файловий ввід-вивід символьної інформації.
- •Деякі основні факти, що використовують cout у консольному виводі.
- •Файловий ввід.
- •Як вказати діапазон елементів у масиві?
- •Як зробити передачу адреси замість передачі самої структури?
- •Використання посилальних аргументів.
- •Аргументи, що визначаємо за замовчуванням.
- •Перевантаження функції.
- •Моделі пам’яті і простір імен - Окрема компіляція програм
- •Директива #include.
- •Об’ява структур.
- •Довгочасність існування області зберігання, області видимості та компоновки.
- •Область видимості і зв’язування.
- •Автоматична довгочасність збереження.
- •Автоматичні змінні та стек.
- •Регістрові змінні.
- •П’ять видів змінних
- •Мовне зв’язування, котре дотикається функції.
Створення структури.
Структура – це більш багатостороння форма даних, чим масив, тому що вона здатна зберігати елементи більш чим одного типу. Тип структури – це ще один крок до ООП С++ - класу. Структура – це визначений користувачем тип з об’явою, яка описує властивості типа. Після визначення типу, можна створити змінну цього типу. Створення структури – це двофазний процес. По-перше, визначається опис структури, яка перераховує і іменує типи даних, котрі можуть бути збережені у структурі, Потім створюються структурні змінні або, як кажуть інакше, структурні об’єкти даних, котрі слідують плану, який заданий об’явою
Надати приклад опису структури. Поясніть приклад.
Приклад опису структури:
struct inflatable //об’ява структури
{
char name [20];
float volume; члени структури
double price;
};
Ключове слово struct вказує на те, що цій код визначає план структури. Ідентифікатор inflatable – ім’я або дескриптор цієї фірми, тобто ім’я нового типу. У цьому прикладі застосовується масив char, який застосовується для збереження рядка. Потім елементи типів float і double.
Після об’яви шаблону, можна створити змінні цього типу.
inflatable hat; // hat – структурна змінна типу inflatable
inflatable woopie_cushion; //змінна типу inflatable
inflatable mainframe; //змінна типу inflatable
Імена членів дозволяють посилання на члени структур. Наприклад, hat.volume посилається на член структури по імені volume, а hat.price – на член по імені price. Оскільки член price об’явлений як double, hat.price і hat.volume обидві є еквівалентними змінної типу double.
ЛЕКЦІЯ 8
Об’ява функції main ().
Об’ява всередині функції main () – має назву локальне оголошення, а коли зовні функції main () – має назву зовнішнім оголошенням.
Ініціалізація структур членами типа клас string.
Можна об’явити структуру таким чином:
#include <string>
struct inflatable //шаблон структури
{
std::string name;
float volume;
double price;
};
Можна, але на практиці це залежить від вашого компілятора. Компілятори Borland C++ 5.5 та Microsoft Visual C++ до версії 7.1 не підтримують ініціалізацію структур членами типа клас string. Коли компілятор підтримує використання string, то забезпечте, щоб визначення структури мало доступ до простору імен std. Це можна зробити, розміщуючи директиві using таким чином, щоб вона була зверху визначення структури. В якості альтернативи можна об’явити тип name як std::string.
Користувацькі типи.
С++ робить користувацькі типи схожими на вбудовані типи. Наприклад, можна передавати структуру в якості аргументу функції, або функція може використовувати структуру в якості значення, що повертається, або можна використовувати операцію присвоєння (=), щоб присвоїти структуру іншої, але того ж самого типу. Остання операція встановлює значення кожного члена однієї структури рівним відповідно кожному члену іншої структури, коли член є масивом. Такий тип присвоєння має назву по членного присвоєння.
Як включається масив до структури?
Структура inflatable включає до себе масив (член name). Також можна створити масиви,чиї елементи є структурами. Щоб створити масив із 100 структур inflatable
inflatable gifts [100]; //масив із 100 структур inflatable
Це робить gifts масивом структури inflatable та може бути застосовний з операцією членства. Оскільки кожний елемент масиву є структурою, то його значення представляється ініціалізацією структури. Таким чином отримуємо наступну конструкцію:
inflatable guest [2] = // ініціалізація масиву структур
{
{“Bambi”, 0.5, 21.99} //перша структура у масиві
{“Godzilla”, 2000, 565.99} //наступна структура у масиві
};
Як робиться об'єднання даних?
Об'єднання – це формат даних, котрий може зберігати різні типи даних у межах однієї області пам’яті, але кожну одиницю часу тільки один з них. Синтаксис об'єднання відрізняється від синтаксису структур. Наприклад, можна використовувати змінну one4all для збереження int, long, double, коли робите це не одночасно:
one4all pail; //змінна one4all для збереження
pail.int_val =15; // зберегти int
cout << pail.int_val;
pail.int_val =1.38; // зберегти double, int втрачено
cout << pail.int_val;
Розмір об'єднання визначається розміром його найбільшого члена. Причиною застосування об'єднання може бути потреба скоротити об’єм пам’яті, коли елемент даних може використовувати два або більш форматів, але ніколи одночасно.
Анонімні об’єднання не мають імен. Їх члени становляться змінними, які розташовані по одному адресу у пам’яті. Природно, що тільки одна з них може бути поточною у одиницю часу.