русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Тимчасові безіменні об’єкти


Дата додавання: 2014-04-22; переглядів: 905.


В програмі 10.2 ми створили тимчасовий об’єкт temp типу Counter, чиєю єдиною метою було збереження значення, яке повертає операція ++. Реалізація цього об’єкту вимагала трьох рядків програми

Counter temp;

temp.count=count;

return temp;

Існує багато способів повертати тимчасовий об’єкт з функції чи перезавантаженої операції. Розглянемо ще один спосіб в програмі 10.3

#include <iostream.h>

#include <conio.h>

#include <bios.h>

class Counter

{private:

unsigned int count;

public:

Counter():count(0) //constructor

{ };

Counter(int c):count(c)

{}

 

unsigned int get_count()

{return count;}

 

Counter operator++()

{++count;

return Counter(count);

}

};

 

int main()

{

clrscr();

Counter c1,c2;

cout << "\nc1="<<c1.get_count();

cout <<"\nc2="<<c2.get_count();

++c1;

c2=++c1;

cout << "\nc1="<<c1.get_count();

cout <<"\nc2="<<c2.get_count();

cout <<endl;

bioskey(0);

return 0;

}

Програма 10.3

В рядку цієї програми

return Counter(count);

відбуваються ті самі дії, які в програмі 10.2 займали три рядки. Тут створюється об’єкт типу Counter. Він не має імені, бо воно ніде не використовуватиметься. Цей об’єкт ініціалізується значенням, одержаним у вигляді параметра count.

Зверніть увагу, що, порівняно з попередньою програмою, додався конструктор з одним параметром

Counter(int c):count(c)

{}

Об’єкт, ініціалізований значенням count, може бути повернутий функцією. Результат цієї програми такий же, як і попередньої..

 


<== попередня лекція | наступна лекція ==>
Аргументи операції | Постфіксні операції


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн