- •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 main(void)
{
cout << "максимум 100 і 200 рівний " <<
max(100, 200) << endl;
cout << "максимум 5.4321 та 1.2345 рівний " <<
max(5.4321, 1.2345) << endl;
}
У C++, в процесі компіляції, автоматично створюються оператори для побудови однієї функції, що працює з типом int, і другої функції, що працює з типом float. Оскільки компілятор C++ керує операторами, відповідних функцій, які ви створюєте за допомогою шаблонів, він дозволяє вам використовувати однакові імена для цих функцій, що повертають значення різних типів. Ви не змогли б це зробити, використовуючи тільки перезавантаження функцій.
Попереднє визначення шаблона для функції max використовувало єдиний загальний тип Т. Часто в шаблоні функції потрібно казати декілька типів. Наприклад, наступні оператори створюють шаблон для функції show_array, яка виводить елементи масиву. Шаблон використовує тип Т для визначення типу масиву і тип Т1 для вказівки типу параметра count:
template<class T, class Tl> void show_array(T *array, T1 count)
{
T1 index;
for (index = 0; index < count; index++)
cout << array[index] << ' ';
cout << endl;
}
Як і раніше, програма повинна вказати прототипи функцій для необхідних типів:
void show_array(int *, int);
void show_array(float *, unsigned);
Наступна програма SHOW_TEM.CPP використовує шаблон для створення функцій, які виводять масиви типу int і типу float.
template<class T, class T1> void show_array( T *array,T1 count)
{
T1 index;
for (index = 0; index < count; index++)
cout << array [index] << ' ';
cout << endl;
}
void show_array(int *, int);
void show_array(float *, unsigned);
Void main(void)
{
int pages[ ] = { 100, 200, 300, 400, 500 };
float prices[ ] = { 10.05, 20.10, 30.15 };
show_array(pages, 5);
show_array(prices, 3);
}
30. Використовування шаблонів класів
Припустимо ви створюєте клас масиву, в якому є методи для обчислення суми і середнього значення збережених в масиві чисел. Припустимо, що ви працюєте з масивом типу int, і ваш клас міг би виглядати наступним чином:
class array {
public:
array(int size);
long sum (void);
int average_value(void);
void show_array(void);
int add_value(int);
private:
int *data;
int size;
int index;
};
Для прикладу розглянемо програму I_ARRAY.CPP, що використовує клас array для роботи зі значеннями типу int:
class array {
public:
array(int size);
long sum(void);
int average_value (void);
void show_array(void);
int add_value(int);
private:
int *data;
int size;
int index;
};
array::array(int size)
{
data = new int[size];
if (data == NULL)
{
cout << "недостатньо пам'яті - програма завершується"
<< endl;
exit(l);
}
array::size = size;
array::index = 0;
}
long array::sum (void)
{
long sum = 0;
for (int i = 0; i < index; i++)
sum += data[i];
return(sum);
}
int array::average_value(void)
{
long sum = 0;
for (int i = 0; i < index; i++)
sum += data[i];
return(sum / index);
}
void array::show_array(void)
{
for (int i = 0; i < index; i++)
cout << data[i] << ' ';
cout << endl;
}
int array::add_value(int value)
{
if (index == size)
return(-1); // Масив повний
else
{
data[index]= value;
index++;
return(0); / / Успішно
}
}