Русенски Университет
"Ангел Кънчев"
Катедра ЕЕА
Курсова работа по Обектно Ориент"Ангел Кънчев"
Ка
т
е
д
ра
ЕЕА
К
урсова работа по Обектно Ори
ККатедра ЕЕА
Ку
рсов
а
работа п
о О
б
е
ктно Ориенти
ККур
с
19.05.2016 г. Проверил:.....
.
........
Задание № 1
Прости вещ
е
с
т
ва
Химични съединения
ена
е
следната кл
асифи
к
и
Химични
съединения
ХХимични съединения
е
дната класификация:
Класи
Класификац
и
ята да се продължи поне на още две нива. Да се със
т
а
в
и й
ерар
х
и
я от класове , о
ККласификацията да с
е пр
од
ължи пон
е н
а
още две нива
. Да
с
Обяснителната записка съдържа задани
е
то, пълното
о
писание на декларираните класове, алгоритми и лист
и
н
г
и н
а мо
д
у
лите.
Кислород
ос
ти вещес
тва
атом
Хим
и
атом
Хи
м
ични елемент
и
йон
аатом
Химич
Хим
Хи
ХХимични елемен
т
и
йон
Химични съединения
Нат
йонйон
Натриева
о
снова
Натриева
Нат
Нат
ННатриева основ
а
р
од
и
е на деклар
т
е класове
I
.
Тип на класа: HimVe
Наследява от: не наследява
Ба
з
о
в
за
: Pr
o
s
tiVe, HS
Виртуални функции: virtual pr
II. Ти
п на
к
ласа: Hi
mVe
Н
аследява от:
не н
а
Описание основните характерните особ
е
нности на кл
а
са: Базов клас за всички останали класове. От него
н
а
сле
дява
т
класовете: ProstiVe, HS, които са производни
на д
ад
ения. Те
на
с
л
едяват функц
иите
д
{ delete vid; };
virtual void print(
v
oid);
Общо о
п
исание действиетvirtual void print(void);
Общо опи
с
а
н
ие
дейс
т
в
ието на функцията:
ProstiVe ( char *, char *)
; -
К
онстрОбщ
о о
п
и
сание действ
ието
н
Базов за: Atom
Виртуални функции: vi
r
tual print(v
o
id)
ОписВиртуални функции: virtual print(void)
Опи
с
а
н
ие
осно
в
н
ите характерните особенности на класа: Класът
е п
ро
изводен
на
к
л
ас ProstiVe.
От н
е
Kislorod ( char *, char *, char *);
-
Конструктор
на класа
~ Kislorod (); -Деструктор на класа-осво
б
о
ж
дав
а па
м
е
тта, заета за данните на обекта
virtual void
prin
t(
void); -
Ви
р
т
уална функци
я, ко
я
Членове данни: char *osnova; - Указа
т
ел към тип
c
har, който се декларира в секцията protected на кл
а
с
а
. Т
ой е
о
бщодостъпен за всеки производен клас и скрит
за о
ст
аналата
час
т
от програмат
а.
Фу
н
~ Atom (); -Деструктор на класа-осв
о
бождава паме
т
та, заета за данните на обекта
virtual void print(
v
o
i
d);
и
р
туална функция, която извежда на екрана стойн
оста
н
а промен
лив
а
т
а st и насле
дяван
и
ИИзползвани файлове *. cpp
-----
-
--- HimVe.cp
p
-----------
# include <iostream.h>
# include <str
i
n
g
.h>
---
-
-
----- HimVe.cpp -----------
# include <iostre
am.h
>
# includ
e <
s
t
ring.h>
# in
clude
}
voi
vvoid HimVe :: printListForw
(
HimVe *begin
)
{ for (HimVe *np = begin; np; np = np ->next)
n
p
->
pri
n
t
( );
}
void HimVe :: printList (HimVe *begi
n)
{
or (HimV
e *
n
p
={ for (Him
Ve *n
p
--------------- HS.cpp ------
-
--------
# i
n
clude <iostream.h>
# include <string.h>
# include
<
c
o
nio
.h>
#
include "HimVe.h"
# include "HS.h"
HS :: HS
(# i
nc
lude <io
str
e
a
m.h>
# inclu
de <s
t
# include "HimVe.h"
# include "Prost
i
Ve.h"
# incl
u
de "Vodorod.h"
Vodorod :: V# include "ProstiVe.h"
#
inc
lude
"
Vodorod.h"
Vodorod :: Vodorod ( char *KIND,
char
*
VID ,# i
ncl
u
d
e "Vodorod.h
"
Vo
d
void Kislorod :: print( void )
{ Pro
s
tiVe :: prin
t
();
<
<
nam
e <<
"
.";
}
----{ ProstiVe :: print();
va p
ro
sto vesh
tes
t
v
o se naricha
" <<
NNa :: Na ( char *KIND, char *TIP,
c
har *OSNOVA
)
: HS ( KIND, TIP )
{ osnova = new char [ strlen(
O
S
N
OVA
) +
1
];
}
void Na :: pr
int(
v
oid )
{
HS
:
:
print();
out <
<
<
st << ".";
}
----------- Ion.cpp ------------
# include <iostr
e
a
m
.h>
# i
n
c
lude <string.h>
# include <conio.h>
# include
"Hi
mV
e.h"
# i
ncl
u
d
e "HS.h"
# i
nclud
e
-
-
-----------
M
AIN.cpp ------------
# include <iostream.h>
# inc
l
u
d
e <
stri
n
g
.h>
# include <conio.h>
# include "HimVe.h"
#
inc
lu
de "Pros
tiV
#
# include <i
ostre
a
# include "HS.h"
# include "Vodorod.
h
"
# include
"
Kislorod.h"
# in# include "Vodorod.h"
# include "K
i
s
l
oro
d.h"
#
include "Voda.h"
# include "Na.h"
# inc# inc
lude
"
Kislorod
.h"
#
include "Vo
da.h"
delete f;
delete at;
delete b;
delet
e
delete at;
d
elete b;
delete list;
} // enddelete b;
delete lis
t
;
} /
/ en
d
main
delete list;
} // end main
Изпо
лзва
ни
файл} /
/ e
n
d
main
Изп
о
HimVe ( char *KIND="Him. vesht
e
stvo");
{ delete kind; };
v
i
rtu
al v
o
i
d print( void );
void link(HimVe * );
void pr
int
L
i
st virt
ual~H
i
#endif
-------------- HS.
---------
-
----- HS.h -
-
-----------
#ifndef HS_h
#define HS_h
class HS :
p
u
b
lic
Him
V
e
{ public:
HS (char *,char *);
S#
ifndef H
S_h
#
define HS_h
clas
s
private:
char *sastav;
};
#
endif
-----
-
---- char *sastav;
};
#endif
------------- Ki
s
l
o
rod
.h -
-
-
----------
# };
#endif
--#endif
-----------
-- K
is
l
------
---
-
-
--- Kislorod
.h --
-
Voda( char *,char *,char * );
~ Voda
(
)
{ delete sd; }
virtual void print(
v
o
i
d);
private:
char *sd;
};
# ~ Voda ()
{ del
ete
s
d; }
v
irtua
l
cclass Atom : public Vodorod
{ p
u
blic:
A
tom ( char *,char *,char *,char * );
~ Atom
(
)
{ public:
Atom ( char *,char *,char
*,ch
a
Ato
m (
c
har *,char *
,char
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте