Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VC++(теория).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
375.3 Кб
Скачать

Задание: к примеру добавьте перегруженную функцию для суммирования чисел типа double, и проверьте ее работу

  • :: - Операция уточнения области действия (\16SCOPE), т.е. обращение к глобальной переменной. По умолчанию локальные переменные имеют приоритет.

int iproduct(int iw, int ix); // Прототип функции

int in = 10; // Объявление глобальной переменной

int main()

{

int il = 3, im = 7, io;

io = iproduct(il, im);

cout << "The product is: " << io << endl;

return(0);

}

int iproduct(int iw, int ix)

{

int iy;

int in = 2; // Объявление локальной переменной in

iy = iw * ix * in; // Локальная in имеет приоритет

//iy = iw * ix * ::in; // Доступ к глобальной in

return(iy);

}

Модульная организация программы

позволяет оформлять логически связанные модули в отдельные файлы. Директива #include позволяет включать заголовочные файлы модулей для использования функций данных модулей

//

// 17MODULE.CPP Использование модульной организации программы

//

#include <iostream>

#include "17func.h" // Включение заголовка библиотеки функций

using namespace std;

int main()

{

int isum, ix = 1, iy = 2;

float fsum, fx = 1.1, fy = 2.2;

isum = adder(ix, iy); // Вызовется первая функция

fsum = adder(fx, fy); // Вызовется вторая функция

cout << "The sum of integers is :" << isum << endl; // вывод результатов

cout << "The sum of floats is : " << fsum << endl;

return(0);

}

//

// 17FUNC.H Заголовочный файл библиотеки функций

//

int adder(int ix, int iy); // Функция, складывающая целые числа

float adder(float fx, float fy); // Функция, складывающая дробные числа

//

// 17FUNC.CPP Файл реализующий функции

//

int adder(int ix, int iy) // Функция, складывающая целые числа

{

return (ix + iy); // Возвратить сумму

}

float adder(float fx, float fy) // Функция, складывающая дробные числа

{

return (fx + fy);

}

Стандартные библиотеки С/С++

  • Содержат набор уже готовых функций, например, для работы с файлами, временем….

  • Доступ к функциям стандартной библиотеки достигается включением заголовочного файла (имеющего расширение .h) необходимой библиотеки в модуль, использующий эти функции

#include <ctype.h> // Включение заголовочного файла в начале модуля

..

cuppercase = toupper(csinglechar); // Использование функции библиотеки toupper()

..

  • Находятся в подкаталоге \INCLUDE каталога, куда установлен С++

  • Некоторые стандартные библиотеки:

  • <math.h> - математические функции

  • <string.h> - обработка строк

  • <time.h> - функции работы с временем

Массивы

  • Массив – переменная, содержащая несколько элементов одного типа.

  • Отдельные объекты данных в массиве называются элементами

  • Все элементы массива должны иметь одинаковый тип данных

  • Все элементы располагаются в памяти последовательно, индекс первого элемента равен нулю

  • Имя массива является постоянным значением, это адрес первого элемента

  • Отсутствует проверка выхода за пределы массива

int array[20]; // Массив из 20 целых

char carray[20]; // Массив из 20 символов

  • При объявлении глобального или статического массива его значения инициализируются нулями, локальный неинициализированный массив может содержать произвольные значения. При явной инициализации массива - если начальных значений недостаточно - они инициализируются нулями

  • Функция sizeof возвращает размер массива в байтах и может помочь рассчитать число элементов массива, возвращаемый результат имеет тип size_t (\18ARRAY)

int main()

{

int arr[10]; // Объявление массива из 10 элементов

int array[] = { 1, 2, 3, 4, 5 }; // Объявление и инициализация массива

size_t sizearr = // Вычисление кол-ва эл-тов в массиве

sizeof( array ) / sizeof( array[0] ); // sizeof( array ) = 20 байт

// sizeof( array[0] ) = 4 байта

cout << "Array size is : " << sizearr << endl; // Вывод размера массива

array[0] = array[1]*array[2]; // Присвоение первому элементу значения

for (int i=0; i < sizearr; i++) // Печать всех элементов массива

cout << array[i] << endl;

return(0);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]