
- •Міністерство аграрної політики та продовольства україни рівненський державний аграрний коледж
- •Тема: оголошення та структура класів.
- •Зміст та послідовність виконання завдань
- •Тема: агрегування та композиція класів.
- •Зміст та послідовність виконання завдань
- •Тема: перевантаження операцій.
- •Зміст та послідовність виконання завдань
- •Тема: агрегування та композиція класів.
- •Зміст та послідовність виконання завдань
- •Тема: віртуальні функції, поліморфізм.
- •Зміст та послідовність виконання завдань
- •Тема: класи потокового введення-виведення та робота з файлами.
- •Зміст та послідовність виконання завдань
- •Тема: шаблонні класи.
- •Зміст та послідовність виконання завдань
- •Зміст та послідовність виконання завдань
- •Тема: опрацювання виняткових ситуацій.
- •Зміст та послідовність виконання завдань
- •Тема: динамічна ідентифікація та приведення типів.
- •Зміст та послідовність виконання завдань
- •Висновок
- •Список використаной літератури
Тема: динамічна ідентифікація та приведення типів.
Мета: полягає у вивченні механізмів RTTI (Run Time Type Information)та приведення типів у C++.
Матеріально-технічне оснащення робочого місця: ПК, інструкційна картка.
Зміст та послідовність виконання завдань
1. У межах дії поліморфічного кластера перетворити вказівник на екземпляр класу-нащадка у вказівник на екземпляр класу-предка. Використати цей вказівник для виклику віртуального методу. Вивести на екран назву класу, з якого буде викликано віртуальний метод.
Програма:
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <string.h>
char name_file[32];
class File
{
public:
void sozdat()
{
cout<<"Vvedit nazvu file: ";
cin>>name_file;
ofstream file(name_file);
cout<<"File sozdano"<<endl<<endl;
file.close();
};
void nazva_file()
{
cout<<"Nazva file: "<<endl<<"**********"<<endl<<"*"<<name_file<<endl<<"**********"<<endl<<endl;
};
void zapus()
{
char s[64];
cout<<"Vvedit riadok"<<endl;
cin>>s;
ofstream file(name_file);
file<<s;
}
};
int main(){
File sozdat_file, nazva_file, zapus;
int v;
while (true)
{
cout<<"1. Sozdat file"<<endl;
cout<<"2. Nazva file"<<endl;
cout<<"3. Zapusatu y file"<<endl;
cin>>v;
if (v==1)
{
sozdat_file.sozdat();
};
if (v==2)
{
nazva_file.nazva_file();
zapus.zapus();
}
}
getch();
}
Результат:
Висновок
Після проходження навчально практики з дисципліни «Об’єктно-орієнтованого програмування» я здобув практичні навички з об’єктно-орієнтованого програмування мовою програмування С++, для розв’язування задач проблемних областей комп’ютерних інформаційних технологій.
В результаті проходження навчальної практики я удосконалив свої знання про: синтаксис, семантику, технологію та функціональні можливості об’єктно-орієнтованого програмування мовою С++.
А також покращив свої знання в розробці класів та відношення між ними для розв’язування сформульованої задачі засобами мови програмування С++, навчився редагувати, підлагоджувати та реалізовувати програми в одному із інтегрованих середовищ мови програмування С++.
Список використаной літератури
1. Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование: Учеб. для вузов/ Под. Ред. Г.С. Ивановой. — М.: Изд-во МГТУ им. Н.Э.Баумана, 2001. — 320 с.
2. Иванова Г.С. Технология программирования: учебник для вузов. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2003. — 320 с.
3. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++: пер. с англ. М.: Бином, СПб.: Невский диалект, 1998.
4. Скляров В.А. Язык С++ и объектно-ориентированное программирование. М.: Высш.шк., 1997. — 478 с.
5. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб.: Питер, 2003. — 368 с.
6. Элиенс А. Принципы объектно-ориентированной разработки программ. — М.: Вильямс, 2002. — 496 с.
7. Грэхем И. Объектно-ориентированные методы: Принципы и практика: пер. с англ. Изд. 3-е. — М: Вильямс, 2004. — 880 с.
8. Кендалл Скотт. UML. Основные концепции. Пер. с англ. — М.: Издательский дом «Вильямс», 2002. — 144 с.: ил.
9. Объектно-ориентированный анализ и проектирование. http://ooad.asf.ru/
10. Гайсарян С.С. Объектно-ориентированнные технологии проектирования прикладних программных систем.