Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по технологиям программирования.pdf
Скачиваний:
53
Добавлен:
02.06.2015
Размер:
4.73 Mб
Скачать

 

Структура программы

#include "stdafx.h

 

файлдля подключениязаголовочных

float tax (float) ;

 

 

файлов, используемыхв проекте.

#include <clocale>;

 

 

 

Объявлениефункций

int main(int argc,char *argv[])

 

 

#include "targetver.h"

{ std::setlocale(LC_ALL,"Russian_Russia.1251");

#include <iostream>

floatcena, tax_amt, total;

 

 

Главная#includeфункция<conio.программыh>

std::cout << "\nСтоимостьтовара: ";

 

 

 

std::cin >> cena;

 

 

#include <SDKDDKVer.h>

tax_amt = tax(cena);

 

 

 

 

 

total = cena + tax_amt;

 

 

 

std::cout << "\nТовар: " << cena<<std::endl;

 

std::cout << "Налог: " << tax_amt;

 

 

std::cout << "\nВсего: " << total;

 

 

//_getch();

 

 

 

return 0;}

 

 

 

float tax (floatamount)

 

Описаниевспомогательнойфункции

{

float rate = 0.065;

 

 

 

 

return(amount * rate);

}

 

 

Определение времени жизни и области

видимости переменных

Время жизнипеременнойопределяетсяпоследующимправилам:

переменныеобъявленныенавнешнемуровне, всегдаимеют глобальноевремя жизни;

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

Видимостьпеременнойв программе определяется по правилам:

переменные,объявленныеилиопределенныенавнешнем уровне, видимыотточкиобъявленияилиопределениядо конца исходногофайла.;

переменные,объявленныеилиопределенныенавнутреннем уровне, видимыотточкиобъявленияилиопределениядо конца блока;

переменныеизобъемлющихблоков, включаяпеременные, объявленныенавнешнемуровне, видимы вовнутреннихблоках.

Модификаторы памяти

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

extern переменная определяетсяв другом месте программы.

static статическая переменная. Времяжизни постоянное. Инициализируетсяодин раз при первом выполнении оператора, содержащегоопределение переменной. В зависимостиот расположенияоператора описания статическиепеременные могут быть глобальными и локальными.

register аналогично auto, но память выделяется по возможности в регистрахпроцессора.

Пространство имен

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

namespace Jack { void fetch( ) ; int pal;} namespace Jill {double fetch ; int pal ;}

Jack :: pal = 12 ;

Объявления using и

директивы using

namespace Jill { int pal; double fetch ; } ;

har fetch ; int main ( )

{

using Jill :: fetch ; double fetch ; cin >> fetch ; cin > > :: fetch ; }

using namespace System; std::cout<<“HELLO WORD”<<std::endl using namespacestd;

cout<<“HELLO WORD”<<endl

Jack :: pal = 3 ;

Jill :: pal = 10 ;

using Jack :: pal ; using Jill :: pal ;

pal = 4 ; / / Конфликт имен