Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Описание информационного объекта в программе




Определение и объявление объекта

Перед тем, как использовать информационный объект, его нужно описать (определить или объявить):

Определения связывают информационные объекты программы с их идентификаторами, резервируют для объектов память и устанавливают их атрибуты.

Объявления делают идентификаторы информационных объектов известными компилятору.

• В программе определение информационного объекта всегда одно, объявлений может быть несколько.

 

Описание является определением, если:

• содержит инициализатор;

• полностью описывает функцию (включает тело функции);

• описывает объединение или структуру (включая компоненты);

• описывает класс (включая его компоненты);

Описание является объявлением, если:

• описывает прототип функции;

• содержит спецификатор extern;

• описывает статический компонент класса;

• описывает имя класса;

• описывает имя типа, вводимого пользователем (typedef).

 

 

Примеры описаний программных объектов

char[1] c; // определение символьной переменной

int a; // определение целочисленной переменной

float x, y; // определение вещественных переменных

 

char* str = "aaaa"; // определение указателя и инициализация его адресом
//строкового литерала

 

struct complex { float re, im; }; // определение структурного типа (структуры)

 

struct complex1 { int re, im; }; // определение структурного типа (структуры)

complex1 var; //и переменной этого типа

 

extern complex funt(complex); // объявление функции, которая принимает
// в качестве аргумента и возвращает структуру

 

typedef complex point; // объявление типа point как синонима типа complex

 

extern int error_number; // объявление переменной типа int

int extern c; // верное!!! объявление переменной типа int

 

static int a; // определение статической переменной типа int

int static b; // верное!!! определение статической переменной типа int

Но аналогичная запись в классе (если static int а является компонентом класса) только объявляет переменную а как статический компонент класса.

 

float real(complex* p) { return p->re; }; // определение функции

 

const double pi = 3.1415926535897932385; // определение и инициализация переменной

double const pi1= 3.141592; // верное!!! определение и инициализация переменной

 

struct user; // объявление структурного типа user

 

template<class T>
abs(T x) { return х>0? -x: x; } // определение шаблона семейства функций

 

enum beer { Carlsberg, Tuborg, Thor }; // определение перечислимого типа beer и
//именованных констант

enum color {red, green=5, blue, black, white}; // определение перечислимого типа color и
//именованных констант

 

 

Определение и инициализация переменных целых типов

int k, ix, iy=1, iz; //определение и инициализация переменных
int i = 0x abcd, j= 0 4567, k (1); // 0x abcd – значение в 16-ой с/с; 0 4567 – в 8-ичной с/с
unsigned uk; // эквивалентно записи unsigned int uk;

short shk, shl, shm = 4; // эквивалентно записи short int shk, shl, shm=4;
unsigned short ushk; //в идентификаторе переменной как бы «кодируем» ее тип

long lk; // эквивалентно записи long int lk;
unsigned long ulk (12345); //определение и инициализация переменной

int iarray[10]; //определение массива из 10 значений элементов
// iarray[0] - iarray[9] типа int

При обработке оператора инициализации переменной компилятор выделяет ей память в соответствии с типом и инициализирует указанным значением.

Определение и инициализация переменных вещественных типов

float x = 4.7; //или float x (4.7);

double y = 3.141592, z = 0.6E-02;

float fx (3);

double dy (3.141592);

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

bool b(true); // хотя компилятор не выдает ошибку и при инициализации bool b(1);

bool b1 = false;

bool b2 = bool (-25); //b2 получит значение true

Пример использования переменных булевского типа:

int main() { bool b = false; cout << “b = ” << b << endl; //0 return 0; } int main() { bool b = false; cout << “b = ”; if (b) cout << ”true”; else cout << ”false”; cout << endl; return 0; }




Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 355 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2214 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.