Русенски университет “Ангел Кънчев”
Факултет: ЕЕА
Дисциплина:Обектно ориентирано програмиране
Курсова работа
1. Задание
Дадена е следната класификация:
Класификацията да се продължи поне на още три нива. Да се състави йерархия от класове, отразяваща класификацията. Да се декларират съответните класове.
Да се дефинира виртуална функция, която извежда характеритиките на обект от всеки клас в йерархията. Във функцията main да се изгради масив от обекти от произволни класове в йерархията. Да се разработи функция, която обхожда масива и извежда информация за признаците на включените в него обекти.
Декларациите на всеки клас от йерархията да бъдат оформени в отделни заглавни (.h) файлове. Дефинициите на всеки клас и функцията “main” да бъдат оформени в отделни модули (.cpp файлове). Във всички файлове, съдържащи дефинициите на класовете и функцията “main” чрез директивата #include да се включат съответните заглавни файлове, съдържащи декларациите на класовете. Да се създаде проект, състоящ се от зададените модули.
2.Описание на декларираните класове
2.1.Клас Radio
• Тип на класа: Базов
◦ Наследяване от: няма
◦ Базов за: Pro , Bit
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• char *name; – Име.
◦ Конструктор:
• Radio(void); - инициализира атрибута на обекта със стойност по подразбиране.
• Radio(char *); - инициализира атрибута на обекта със променливата която е предадена в скобите.
• Radio(const Radio &); - копиращ конструктор.
◦ Деструктор:
• virtual ~Radio ( void ) { delete name; } – освобождава динамичната памет от заделеното за char * name пространство.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.2.Клас Bit
• Тип на класа: Базов
◦ Наследяване от: Radio
◦ Базов за:Analog, Disk
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• int koef; - коефициент.
◦ Конструктор:
• Bit(void); - инициализира атрибутите на обекта със стойности по подразбиране.
• Bit (char *,int); - инициализира атрибутите на класа със предадените в скобите променливи.
• Bit (const Bit &); - Копиращ конструктор.
◦ Деструктор:
• ~Bit(void) {}; – не прави нищо.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.3. Клас Pro
• Тип на класа: Базов
◦ Наследяване от: Radio
◦ Базов за: Mont, Size
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• char *vid;- видове.
◦ Конструктор:
• Pro(void); - инициализира атрибутите на обекта със стойности по подразбиране.
• Pro (char *,char *); - инициализира атрибутите на класа със предадените в скобите променливи.
• Pro(const Pro &); - Копиращ конструктор.
◦ Деструктор:
• ~ Pro (void) {delete vid;}; – освобождава динамичната памет от заделеното за char * vid пространство.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.4.Клас Mont
• Тип на класа: няма
◦ Наследяване от: Pro
◦ Базов за: няма
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• int x; - .
◦ Конструктор:
• Mont(void); - инициализира атрибутите на обекта със стойности по подразбиране.
• Mont (char *,char *, int); - инициализира атрибутите на класа със предадените в скобите променливи.
• Mont (const Mont &); - Копиращ конструктор.
◦ Деструктор:
• ~ Mont(void) {} – не прави нищо.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.5.Клас Size
• Тип на класа: няма
◦ Наследяване от: Pro
◦ Базов за: няма
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• int x; -.
◦ Конструктор:
• Size (void); - инициализира атрибутите на обекта със стойности по подразбиране.
• Size (char *,char *,int); - инициализира атрибутите на класа със предадените в скобите променливи.
• Size (const Size &); - Копиращ конструктор.
◦ Деструктор:
• ~Size(void) {} – не прави нищо.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.6.Клас Analog
• Тип на класа: няма
◦ Наследяване от: Bit
◦ Базов за: няма
◦ Приятелски на: няма
◦ Има приятелски: няма
Описание на основните характерни особености на класа:
◦ Членове данни:
• char * anal; - аналогов.
◦ Конструктор:
• Analog(void); - инициализира атрибутите на обекта със стойности по подразбиране.
• Analog(char *, int, char *); - инициализира атрибутите на класа със предадените в скобите променливи.
• Analog(const Analog &); - Копиращ конструктор.
◦ Деструктор:
• ~Analog(void) { delete anal;} – освобождава динамичната памет от заделеното за char * anal пространство.
◦ Методи:
• virtual char * GetClassName(void) const; – виртуален метод връщащ името на класа.
• virtual void Print(void); - виртуален метод показващ стойностите на атрибутите за съответния клас.
2.7.Клас Disk
• Тип на класа: няма
◦ Наследяване от: Bit
◦ Базов за: няма
◦ Приятелски на: няма
◦ Има приятелски: няма
Целият материал:
Здравейте! Вероятно използвате блокиращ рекламите софтуер. В това няма нищо нередно, много хора го правят. |
Но за да помогнете този сайт да съществува и за да имате достъп до цялото съдържание, моля, изключете блокирането на рекламите. |
Ако не знаете как, кликнете тук |
Курсова задача по ООП (C++)
- Mozo
- Skynet Cyber Unit
- Мнения: 295471
- Регистриран: пет юни 01, 2007 14:18
- Репутация: 365247
- Местоположение: Somewhere In Time
Курсова задача по ООП (C++)
- Прикачени файлове
-
Курсова задача по ООП (C++).rar
- (22.53 KиБ) Свален 30 пъти

-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
-
Задача на Simulink - презентация
от Mozo » съб ное 02, 2024 17:21 » в МатематикаСтъпка 1: В търсачката на блокове в SIMULINK – Find е въведено името на
блок Ramp, след натискане на клавиш Enter, блокът е маркиран. С
кликване с... - 0 Отговори
- 245 Преглеждания
-
Последно мнение от Mozo
съб ное 02, 2024 17:21
-
-
-
Ивелин Михайлов от сензацията "Величие": Първата ни задача ще е Зелената сделка. За ЕС и НАТО сме
от Mozo » пон юни 10, 2024 13:52 » в Любопитни новиниПървата ни задача е Зелената сделка. Ще дадем предложения и ще очакваме от новото правителство да задвижи нещата. Това каза пред Би Ти Ви Ивелин... - 0 Отговори
- 89 Преглеждания
-
Последно мнение от Mozo
пон юни 10, 2024 13:52
-
-
-
Курсова работа по Текстолингвистика
от Mozo » пон яну 06, 2025 12:40 » в ЛитератураШуменски университет
„Епископ Константин Преславски“
КУРСОВА РАБОТА
ПО
ТЕКСТОЛИНГВИСТИКА
Термини:
1.Рецепция на текст- (възприемане) :... - 0 Отговори
- 139 Преглеждания
-
Последно мнение от Mozo
пон яну 06, 2025 12:40
-