Здавалка
Главная | Обратная связь

Глобальные и локальные переменные



Согласно правилам области видимости - переменные делятся на два вида – локальные иглобальные.

Локальные переменные создаются внутри какого – нибудь отрезка кода, что это значит для программы, мы уже знаем.

Глобальные переменные создаются вне всяких областей видимости. Преимущественно до функции main().Такая переменная видна в любом месте программы. По умолчанию глобальные переменные в отличии от локальных инициализируются 0. И, главное, те изменения, которые происходят с глобальной переменной внутри функции, при выходе из последней сохраняются.

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

int a=23; // глобальная avoid main(){ int a=7;// локальная a cout<<a; // 7, используется локальная}
Предыдущая Оглавление Следующая  
Предыдущая Оглавление Следующая
           

Аргументы (параметры) по умолчанию.

Формальному параметру функции может быть задан аргумент по умолчанию. Это означает, что в данный аргумент значение при вызове можно не передавать. В этом случае будет использовано значение по умолчанию.

Общий синтаксис для реализации такого подхода имеет следующий вид:

тип_возвращаемого_значения имя_функции(тип_арг имя_арг=значение_по_умолчанию)

Здесь значение_по_умолчанию и есть значение, присваиваемое аргументу, если он опущен при вызове. Разумеется, аргументов по умолчанию может быть несколько:

тип_возвращаемого_значения имя_функции(арг1=значение, арг2=значение)

Аргументами по умолчанию могут быть аргументы, начиная с правого конца списка параметров функции и далее последовательно справа налево без перерывов.Например:

void foot (int i, int j = 7) ; //допустимо   void foot (int i, int j = 2, int k) ; //недопустимо   void foot (int i, int j = 3, int k = 7) ; //допустимо   void foot (int i = 1, int j = 2, int k = 3); //допустимо   void foot (int i=- 3, int j); //недопустимо  

Рассмотрим пример на работу с параметрами по умолчанию.

#include <iostream> using namespaсe std;   // рисует линию из звездочек длиной count void Star(int count=20){ for(int i=0;i<count;i++) cout<<'*'; cout<<"\n\n"; }   void main(){   Star(); // показ линии из 20 звездочек Star(5); // показ линии из пяти звездочек   }  

Вот и все на сегодня. А теперь - дерзайте!!! Теста сегодня не будет, так что за вами, только домашнее задание. Удачи!!!

Предыдущая Оглавление Следующая  
Предыдущая Оглавление Следующая
           

Домашнее задание

  1. Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.
  2. Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников.
Предыдущая Оглавление Следующая  
Предыдущая Оглавление Следующая
           

Урок №9.

  • Встраивание.
  • Перегрузка функций.
  • Шаблоны функций.
  • Домашнее задание
  • Тест для самопроверки.
Предыдущая Оглавление Следующая  
Предыдущая Оглавление Следующая
           

Встраивание.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.