Курсова работа по ООП

Програмиране и програмни езици Курсова работа

Русенски Университет
"Ангел Кънчев"
Катедра ЕЕА
Курсова работа по Обектно Ориент"Ангел Кънчев"

Ка
т
е
д
ра
ЕЕА
К
урсова работа по Обектно Ори
ККатедра ЕЕА

Ку
рсов
а
работа п
о О
б
е
ктно Ориенти
ККур
с
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 коментара

Все още няма коментари. Бъдете първият, който ще коментира.

За да коментирате, трябва да сте влезли в профила си.

Влезте