- •1. Компіляція і виконання програм в середовищі Windows
- •Void main(void) {
- •Void main(void) {
- •Void main
- •3. Виведення повідомлень на екран
- •Void main(void)
- •4. Програми зберігають інформацію в змінних
- •Void main(void)
- •Int test_score;
- •Int student_age, test_score, grade;
- •Void main(void)
- •Void main(void)
- •5. Виконання простих операцій
- •Void main(void)
- •6. Введення даних з клавіатури
- •Void main(void)
- •Int first, second; // Числа, введені з клавіатури
- •Void main(void)
- •7. Програма Приймає рішення
- •If (умова виконується)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Int test_score;
- •8. Повторення одного або декількох операторів
- •Void main(void)
- •9. Функції
- •Void show_message(void)
- •Void main(void)
- •Void show_number(int value)
- •Void main(void)
- •Void show_big_and_little(int а, int b, int c)
- •Void main(void)
- •Void show_employee(int age, float salary)
- •Void main(void)
- •10. Прототипи функцій
- •Void main(void)
- •11. Зміна значень параметрів
- •Void cbange_values(int *a, int *b)
- •Void main(void)
- •12.Локальні змінні і ділянка видимості
- •Void some_function(void)
- •Int count;
- •Void sound_beeps(int beeps)
- •Void main(void)
- •13.Глобальні змінні
- •Void main(void)
- •Void first_change(void)
- •Void second_change(void)
- •Void main(void)
- •Void show_numbers(int number)
- •Void main(void)
- •14. Перезавантаження функцій
- •Int add_values(int а, int b)
- •Int add_values(int а, int b, int с)
- •Void main(void)
- •Void main(void)
- •Використовування посилань як параметРів
- •Void change_value(int &alias)
- •Void main(void)
- •Int number;
- •Void change_value(int &alias)
- •16. Зберігання значень в масивах
- •Int test_scores[100];
- •Int employee_age[100];
- •Void main(void)
- •Void main(void)
- •17. Передача масивів у функції
- •Void some_function(int array[], int number_of_elements);
- •Void show_array(int array[ ], int number_of_elements)
- •Void main(void)
- •18. Символьні рядки
- •Void main(void)
- •Int index;
- •19. Передача рядків у функції
- •Void show_string(char string[ ])
- •Void main (void)
- •Void show_string(char string[ ])
- •20. Зберігання зв'язаної інформації в структурах
- •Int office_number;
- •21. Структури і функції
- •Int office_number;
- •Void show_employee(employee worker)
- •Void main(void)
- •Void show_employee(void)
- •23. Визначення методів класу зовні класу
- •Void show_employee(void);
- •Void employee::show_employee(void);
- •Void main(void)
- •24. Конструктор
- •Void show_employee(void);
- •Int change_salary(float);
- •25. ДеструКтор
- •Void show_employee(void);
- •Int change_salary (float);
- •Void employee :: show_employee(void)
- •Void main(void)
- •26. Спадковість
- •Void show_employee (void);
- •Int stock_options;
- •Void show_manager(void);
- •Int stock_options;
- •Void main(void)
- •27. Множинна Спадковість
- •Void main(void)
- •Int processor, int speed, int ram) :
- •Int processor, int speed, int ram);
- •Void show_work_station(void);
- •Int processor, int speed, int ram) :
- •28. Приватні елементи і друзі
- •Void show_book(void);
- •Void main(void)
- •29. Використовування шаблонів функцій
- •Void main(void)
- •Void main(void)
- •30. Використовування шаблонів класів
- •Void main(void)
- •Void main(void)
- •Values.Show_array( );
- •Void main(void)
- •Void main(void)
- •Int size;
- •Void main(void)
- •Очищення пам'яті, якщо вона більше не потрібна
- •Void main(void)
- •Void main(void)
- •32. Керування вільною пам'яттю
- •Void end_program(void)
- •Void end_program(void)
- •Void main(void)
- •Створення власних операторів new і delete
- •Void main(void)
- •Void main(void)
- •33.Додаткові можливості cin і cout
- •Файл iostream.H
- •Використовування cout
- •Void main (void)
- •Void main(void)
- •Використовування символу-заповнювача
- •Void main(void)
- •Керування виведенням чисел з плаваючою крапкою
- •Void main(void)
- •Виведення і введення одного символу за один раз
- •Void main(void)
- •Void main(void)
- •Введення з клавіатури по одному символу за один раз
- •Void main(void)
- •Читання з клавіатури цілого рядка
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Читання з вхідного файлового потоку
- •Ifstream input_file("filename.Ext");
- •Void main(void)
- •Ifstream input_file("bookinfo.Dat");
- •Читання цілого рядка файлового введення
- •Void main(void)
- •Визначення кінця файлу
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Перевірка помилок при виконанні файлових операцій
- •Void main(void)
- •Закриття файлу, якщо він більше не потрібен
- •Керування відкриттям файлу
- •Ifstream output_file("filename.Ext", ios::app);
- •Ifstream output_file("filename.Ext", ios::out | ios::noreplace); виконання операцій читання і запису
- •Input_file.Read(buffer, sizeof(buffer));
- •Void main(void)
- •Void main(void)
- •Ifstream emp_file("employee.Dat");
- •35. Вбудовані функції і асемблерні коди
- •Void show_message(int count, char *message)
- •Void main(void)
- •Void main(void)
- •Використовування ключового слова inline
- •Inline int max(int а, int b)
- •Inline int min(int а, int b)
- •Void main(void)
- •Вбудовані функції і класи
- •Void show_employee(void)
- •Inline void employee::show_employee(void)
- •Використовування операторів мови асемблера
- •Void main(void)
- •36. Використання аргументів командного рядка
- •Void main(int argc, char *argv[])
- •Void main(int argc, char *argv[])
- •Void main(int argc, char *argv[])
- •Void main(int argc, char *argv[]) виконання циклу до тих пір поки argv he містить null
- •Void main(int argc, char *argv[])
- •Трактування argv як Вказівника
- •Void main(int argc, char **argv)
- •Void main(int argc, char **argv)
- •Аргументи командного рядка
- •Доступ до змінних середовища операційної системи
- •Void main(int argc, char *argv[], char *env[])
- •Void main(int argc, char *argv[], char *env[])
- •37. Використовування констант і макрокоманд
- •Використовування іменованих констант
- •Void main(void)
- •Void main(void)
- •Використовування іменованих констант для спрощення зміни тексту програми
- •Void main(void)
- •Int test_scores[50];
- •Int student;
- •Void main(void)
- •Int test_scores[class_size];
- •Int student;
- •Заміна виразів макрокомандами
- •Void main(void)
- •Void main(void)
- •Чим відрізняються макрокоманди від функцій ?
- •Використовування макрокоманд надає велику гнучкість програмам
- •Void main(void)
- •38. Поліморфізм
- •Void main(void)
- •Int amount;
- •Int amount;
- •Void main(void)
- •Int amount;
- •Void main(void)
- •Література
Void show_employee(void);
};
Void employee::show_employee(void);
{
cout << "ім'я: " << name << endl;
cout << "Номер службовця: " << employee_id << endl;
cout << "оклад: " << salary << endl;
};
Void main(void)
{
employee worker, boss;
strcpy(worker.name, "John Doe");
worker.employee_id = 12345;
worker.salary = 25000;
strcpy(boss.name, "Happy Jamsa");
boss.employee_id = 101;
boss.salary = 101101.00;
worker.show_employee();
boss.show_employee();
}
24. Конструктор
Конструктор є методом класу, який має таке ж ім'я, як і клас. Наприклад, якщо ви використовуєте клас з ім'ям employee, конструктор також матиме ім'я employee. Якщо ваша програма оголосила конструктор, C++ автоматично викликатиме його кожного разу, коли ви створюєте об'єкт. Наступна програма CONSTRUC.CPP створює клас з ім'ям employee. Програма також оголошує конструктор з ім'ям employee, який присвоює початкові значення об'єкту. Проте конструктор не повертає ніякого значення, не дивлячись на те, що він не оголошується як void. Натомість ви просто не вказуєте тип значення, що повертається:
class employee {
public:
employee(char *, long, float); //Конструктор
Void show_employee(void);
Int change_salary(float);
long get_id(void);
private:
char name[64];
long employee_id;
float salary;
};
У вашій програмі ви просто оголошуєте конструктор так само, як будь-який інший метод класу:
employee::employee(char *name, long employee_id,
float salary)
{
strcpy(employee::name, name);
employee::employee_id = employee_id;
if (salary < 50000.0)
employee::salary = salary;
else
// Неприпустимий оклад
employee::salary = 0.0;
}
Як бачите, конструктор не повертає значення функції, що викликала його. Для нього також не використовується тип void. В даному випадку конструктор використовує оператор глобального дозволу (::) і ім'я класу перед ім'ям кожного елемента.
25. ДеструКтор
Деструктор автоматично запускається кожного разу, коли програма знищує об'єкт. Інколи необхідно створити списки об'єктів, що збільшуються або зменшуються в процесі виконання програми. Щоб створити такі динамічні списки, ваша програма для зберігання об'єктів розподіляє пам'ять динамічно. До цього моменту ви можете створювати і знищувати об'єкти в процесі виконання програми. В таких випадках має сенс використання деструктора. Кожна із написаних вами дотепер програм створювала об'єкти на самому початку свого виконання, просто оголошуючи їх. При завершенні програм C++ знищував об'єкти. Якщо ви визначаєте деструктор усередині своєї програми, C++ автоматично викликатиме деструктор для кожного об'єкту, коли програма завершується (тобто коли об'єкти знищуються). Подібно конструктору, деструктор має таке ж ім'я, як і клас об'єкту. Проте для деструктора ви передуєте його ім’я символом тильди (~), як показано нижче:
~clase_name(void) // ~ вказує на деструктор
{
// Оператори деструктора
}
На відміну від конструктора ви не можете передавати параметри деструктору.
Наступна програма DESTRUCT.CPP визначає деструктор для класу employee:
void employee:: ~ employee(void)
{
cout << "Знищення об'єкту для " << name << endl;
}
В даному випадку деструктор просто виводить на ваш екран повідомлення про те, що C++ знищує об'єкт. Коли програма завершується, C++ автоматично викликає деструктор для кожного об'єкту. Нижче приведена реалізація програми DESTRUCT.CPP:
class employee {
public:
employee(char *, long, float);
~ employee(void);
