
- •Лабораторна робота №1
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості Масиви динамічної пам'яті
- •Приклад виконання завдання 1
- •Лістинг програми
- •Приклад виконання завдання 2
- •Лістинг програми
- •Приклад виконання завдання 3
- •Лістинг програми
- •Контрольні запитання
- •Лабораторна робота №2
- •Порядок виконання роботи
- •Ознайомитися з теоретичними відомостями.
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Читання і запис текстових файлів
- •Читання і запис бінарних файлів
- •Відкриття бінарних файлів
- •Файли з послідовним доступом
- •Запис даних у файл з послідовним доступом
- •Файли з довільним доступом
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №3
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості
- •Обмеження доступу до членів класу Клас
- •Вбудовані функції-члени
- •Приклад виконання завдання 1.
- •Приклад виконання завдання 2.
- •Приклад виконання завдання 3.
- •Контрольні запитання
- •Лабораторна робота №4
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Конструктори і деструктори
- •Правила роботи з конструкторами і деструкторами
- •Варіант 10. Розробити описовий алгоритм, схему алгоритму і написати метод для підрахування кількості слів в текстовому файлі.
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №5
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Принципи спадкування в ооп
- •Оголошення похідних класів
- •Приклади специфікаторів доступу
- •Конструктори похідного класу
- •Функції члени похідного класу
- •Заборонені члени класу (Protected)
- •Приклад виконання Завдання 1
- •Контрольні запитання
- •Лабораторна робота №6
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Перевантаження операторів
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Контрольні запитання
- •Лабораторна робота №7
- •Порядок виконання роботи
- •Завдання 1.
- •Завдання 2.
- •Теоретичні відомості
- •Контрольні запитання
- •Лабораторна робота №8
- •Порядок виконання роботи
- •Завдання 1
- •Контрольні запитання
- •Лабораторна робота №9
- •Порядок виконання роботи
- •Завдання 1.
- •Теоретичні відомості Множинне спадкування
- •Контрольні запитання
- •Лабораторна робота №10
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Шаблони
- •Параметризовані класи
- •Визначені об’єкти-потоки
- •Операції поміщення та вилучення
- •Приклад виконання Завдання з варіанту 2
- •Контрольні запитання.
- •Лабораторна робота №11
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Приклад виконання Завдання 1
- •Приклад виконання Завдання 2
- •Контрольні запитання
- •Лабораторна робота №12
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Вставити Таблицю !!!!!! Приклад розробки програми
- •Контрольні запитання
Обмеження доступу до членів класу Клас
Члени класу закриті за замовчуванням, але використання специфікатора prіvate бажано.
У класі можуть бути присутнім численні відкриті і закриті секції, що розташовуються в довільному порядку.
Для використання закритих даних-членів існує лише один спосіб - виклик відкритих функцій-членів класу.
Закриті (prіvate) члени класу доступні тільки членам того класу і нікому більше, закриті члени невидимі поза класом.
Приклад
include iostream.h
include
stdio.h
class CTime {
private:
int
year;
int month; закриті дані члени
int day;
int hour;
int minute;
public:
void Display(void);
void Get Time(intm,intd,inty,inth2,intmin);
void Set Time (int m,int d,int y,int h,int min);
}
main ( )
{
CTime obj1; // об’єкт типу CTime
int month, day, year, hous, minute;
obj1. Set Time (7, 14, 2003, 8, 30);
cout “obj1==“; obj1.Display();
obj1.Get Time(month, day, year, hous, minute);
obj1. Get Time(month, day, year, ++hous, minute);
cout “ Next hous==“; obj1.Display();
return ();}
void CTime::Display(void)
{
char s [32];
Sprintf(s,“Data:02d/02d/04d Time:02d:02d\n” =,month, day, year, hour, minute);
cout s;
}
void CTime::Get Time(intm,intd,inty,inth2,int min);
}
m=month; // Повернення даних-членів тому, хто викликав функцію
d=day;
y=year;
h2=hare;
min=minute;
}
void CTime :: Set Time (int m, int d, int y, int h, int min);
{
month = m; // Присвоювання аргументів даним-членам.
day = d;
year = y;
hare = h2;
minute = min;
}
Вбудовані функції-члени
У більшості випадків виклики функцій-членів замість прямого доступу до даних-членів помітно позначаються на швидкодії програми. Звичайно, у наш час необхідна гранична ефективність. Для цього С++ дозволяє повідомляти класи з функціями-членами, що вбудовуються. Функції-члени, що хоч вбудовуються, використовуються так само, як і інші функції, у скомпільованому коді вони не викликаються, а вставляються безпосередньо в скомпільовану програму: (див. рис)
Оператор;
Наприклад
include iostream.h
include time.h
include string.h
class CTime
{
private:
long dt; - дані дата і час перетворяться в секунди і представлені у виді довгого цілого. Це зручно для використання різних бібліотечних функцій, використаних такою формою збереження даних повертає у виді символьного рядка дату і час.
рublic:
void Display(void){coutctime(dt);}
void Get Time (int m, int d, int y, int h2, int min);
void Set Time (int m, int d, int y, int h, int min);
char * Get STime ( void )
{
char *cp = strdup ( ctime (
dt)); }
return cp;
}
void Change Time(long n minutes){ dt+=(n minutes60);}
//зсув в часі додає до поточного часу n mіnutes хвилин
}