- •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)
- •Література
Використовування ключового слова inline
В C++ за допомогою ключового слова inline, що передує імені функції, можна оголосити так звану вбудовану (inline) функцію. Якщо компілятор C++ зустрічає ключове слово inline, він розміщує у виконуваний файл (машинна мова) оператори цієї функції безпосередньо в місці кожного її виклику (вбудований код). Таким чином, програми написані з використанням вбудованих (inline) функцій, більш зрозумілі при читанні і в той же час мають більшу продуктивність, оскільки вдається уникнути затрат часу на виклик функцій (звичайних), розміщення їх аргументів в стек, перехід у функцію і вихід з неї. Наступна програма INLINE.CPP визначає функції max і min як inline:
_
Inline int max(int а, int b)
{
if (а > b)
return(а);
else
return(b);
}
Inline int min(int а, int b)
{
if (а < b)
return(а);
else
return(b);
}
Void main(void)
{
cout << "Мінімум з 1001 і 2002 рівний " <<
min(1001, 2002) << endl;
cout << "Максимум з 1001 і 2002 рівний " <<
max(1001, 2002) << endl;
}
В даному випадку компілятор C++ замінить кожний виклик функції на відповідні оператори функції. Продуктивність програми збільшується без її ускладнення.
Вбудовані функції і класи
При визначенні класу ви визначаєте функції цього класу всередині або зовні класу. Наприклад, клас employee визначає свої функції усередині самого класу:
class employee {
public:
employee(char *name, char *position, float salary)
{
strcpy(employee::name, name);
strcpy(employee::position, position);
employee::salary = salary;
}
Void show_employee(void)
{
cout << "Ім'я: " << name << endl;
cout << "Посада: " << position << endl;
cout << "Оклад: $" << salary << endl;
}
private:
char name[64];
char position[64];
float salary;
};
Розміщуючи функції всередині класу, ви тим самим оголошуєте їх вбудованими. Якщо створювати вбудовані функції класу таким способом, C++ дублює функцію для кожного створюваного об'єкту цього класу, розмішуючи вбудований код при кожному посиланні на метод (функцію) класу. Перевага такого способу полягає в зростанні продуктивності програми. Недоліком є дуже швидке збільшення об'єму самого визначення класу.
Для більш компактнішого визначення класу можна винести функції за межі опису класу і розмістити перед функціями ключове слово inline. Наприклад, наступне визначення вказує компілятору використовувати вбудовані оператори для функції show_employee:
Inline void employee::show_employee(void)
{
cout << "Ім’я: " << name << endl;
cout << "Посада: " << position << endl;
cout << "Оклад: $" << salary << endl;
}
Використовування операторів мови асемблера
Програмісти можуть створювати програми, посилаючись на широкий спектр мов програмування. Компілятор перетворює оператори програм в машинний код - нулі і одиниці, які сприймає комп'ютер. Кожний тип комп'ютерів підтримує проміжну мову, звану мовою асемблера, яка потрапляє в категорію між машинною мовою (низького рівня) і мовою програмування високого рівня, такою як наприклад C++.
Залежно від призначення програм, можливо, буде потрібно виконати операції низького рівня. У таких випадках можна використати оператор C++ asm для введення операторів мови асемблера в програму. Наступна програма USE_ASM.CPP використовує asm, щоб вставити оператори мови асемблера, необхідні для звучання динаміка комп'ютера в середовищі MS-DOS [1]:
_
