Поняття об'єкту і класу

Об'єкт визначається як реальний предмет або явище, що має чітко визначену поведінку. Об'єкт має стан, поведінку і індивідуальність; структура і поведінка схожих об'єктів визначають загальний для них класом. Стан об'єкта характеризується переліком усіх можливих (статичних) властивостей даного об'єкту і поточними значеннями (динамічними) кожного. Поведінка об'єкта повністю визначається його діями. Індивідуальність – це властивість об'єкта, що відрізняє його від усіх інших об'єктів.

Певний вплив одного об'єкта на інший з метою отримати відповідну реакцію називається операцією. Як правило, в об'єктних і об'єктно-орієнтованих мовах операції, що виконуються над даним об'єктом,називаються методами і є складовою частиною визначення класу.

Клас - це безліч об'єктів, пов'язаних спільністю структури і поведінки. Будь-який об'єкт є екземпляром класу. Визначення класів і об'єктів - одне з найскладніших завдань об'єктно-орієнтованого програмування.

1.2.Типи даних, конструкцій та операторів С++.

А)Тип даних int

Типи даних: short (короткий), unsigned short (без знаковий короткий), int (цілий), unsigned int (без знаковий цілий), long (довгий), unsigned long (без знаковий long). Характеристичним для цих типів є те, що їх використання забезпечує виділення комірок різної памяті.

Б)Конструкція struct

Структура в мові С(С++) – це тип даних, який складається з визначеної кількості елементів, що називаються членами структури (інколи – полями структури). Члени структури можуть мати різні типи. Синтаксис визначення структури:

struct tag_name

{

<тип_1> mem_1;

<тип_2> mem_2;

...

<тип_n> mem_n;

};

Тут mem_1, mem_2,..., mem_n – члени структури, визначеної з тегом (тег – дослівно означає наклейка) tag_name. Тепер змінну, яка відноситься до структури такого типу, або, як ще кажуть екземпляр цієї структури, можна визначити таким чином:

struct tag_name <змінна-структура>;

2.Практична частина

2.1.Лістинг програми з коментарями

#include <iostream.h>

#include <conio.h>

struct Time

{

unsigned int h,m,s; };

void vvid(Time&);

void secToMinut(Time&);

void sub(Time&);

void vuvid(Time&);

void change(Time&);

int main()

{

Time x1;

vvid(x1);

secToMinut(x1);

sub(x1);

change(x1);

vuvid(x1);

getch();

return 0;

}

//---------------------

void vvid(Time& x1)

{

int met;

cout<<"metod 1 norm, 2 sek"<<endl;

cin>>met;

if(met==1)

{

cout<<"vvedit 4as"<<endl;

cout<<"h: "; cin>>x1.h;

cout<<"m: "; cin>>x1.m;

cout<<"s: "; cin>>x1.s; }

if(met==2)

{

cout<<"vvedit sekyndu"<<endl;

cin>>x1.s;

x1.h=0; x1.m=0;

}

}

void secToMinut(Time& x1)

{

unsigned int s1,m1;

s1=x1.h*3600+x1.m*60+x1.s;

m1=s1/60;

cout<<"vvedenuy chas: "<<endl;

cout<<" sec: "<<s1<<endl;

cout<<"hvulun:"<<m1<<endl;

s1=s1-m1*60;

if(s1>=30)

{m1++;}

cout<<"zaokruglennia do hv:"<<m1<<endl;

}

void sub(Time& x1)

{

cout<<"vidniatu"<<endl;

cout<<"------------------------"<<endl;

unsigned int h1,m1,s1,s2;

cout<<"vvedit 4as"<<endl;

cout<<"h1: "; cin>>h1;

cout<<"m1: "; cin>>m1;

cout<<"s1: "; cin>>s1;

s2=x1.h*3600+x1.m*60+x1.s;

s1=h1*3600+m1*60+s1;

if(s1>s2)

{

cout<<"riznutsia: "<<(s1-s2)<<"sec"<<endl;

}

else

{

cout<<"riznutsia: "<<(s2-s1)<<"sec"<<endl;

}

}

void vuvid(Time& x1)

{

if(x1.h<10)

{cout<<"0"<<x1.h<<":";}else

{ cout<<x1.h<<":";}

if(x1.m<10)

{cout<<"0"<<x1.m<<":";}else

{cout<<x1.m<<":";}

if(x1.s<10)

{cout<<"0"<<x1.s<<endl;}

else{cout<<x1.s<<endl;}

}

void change(Time& x1)

{

cout<<"zmenshutu na"<<endl;

cout<<"------------------------"<<endl;

unsigned int s1;

cout<<"s1: "; cin>>s1;

x1.s=x1.h*3600+x1.m*60+x1.s;

if(s1>x1.s)

{

x1.s=86400-s1-x1.s;

}

else

{

x1.s=x1.s-s1;

}

x1.h=x1.s/3600;

x1.s=x1.s-x1.h*3600;

x1.m=x1.s/60;

x1.s=x1.s-x1.m*60;

cout<<x1.h<<":"<<x1.m<<":"<<x1.s<<endl;

x1.s=x1.h*3600+x1.m*60+x1.s;

cout<<"----------"<<endl;

cout<<"zbilshutu na:"<<endl;

cout<<"s1: "; cin>>s1;

x1.s=x1.s+s1;

if(x1.s>86400)

{

x1.s=x1.s-86400;}

x1.h=x1.s/3600;

x1.s=x1.s-x1.h*3600;

x1.m=x1.s/60;

x1.s=x1.s-x1.m*60;}

3.Практична частина – розробка програми з використанням об’єктно-орієнтованого підходу

Лістинг програми з коментарями

#include <iostream.h>

#include <conio.h>

Class Time

{

private:

unsigned int h,m,s;

public:

Time(): h(0),m(0),s(0){}

void vvid();

void secToMinut();

void sub();

void vuvid();

void change();

~Time()

{}

};

Int main()

{

Time x1;

x1.vvid();

x1.secToMinut();

x1.sub();

x1.change();

x1.vuvid();

getch();

return 0;

}

//---------------------

Void Time::vvid()

{

int met;

cout<<"metod 1 norm, 2 sek"<<endl;

cin>>met;

if(met==1)

{

cout<<"vvedit 4as"<<endl;

cout<<"h: "; cin>>h;

cout<<"m: "; cin>>m;

cout<<"s: "; cin>>s; }

if(met==2)

{

cout<<"vvedit sekyndu"<<endl;

cin>>s;

h=0; m=0;

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: