Объектно-ориентированное программирование на языке С - Курсовая работа

бесплатно 0
4.5 99
Описание логической и модульной структуры разрабатываемой программы, используемые в данном процессе основные технические средства. Организация хранения данных в программе, проектирование интерфейса. Тестирование и отладка, листинг готовой программы.


Аннотация к работе
Мы живем в мире объектов. Помимо атрибутов объекты обладают некоторыми функциональными возможностями, которые в объектно-ориентированном программировании (ООП) называют операциями или методами. Например, в C он реализован с помощью механизма виртуальных функций. 1. Данная программа позволяет продемонстрировать основные концепции ООП и возможности среды визуальной разработки приложений Borland C Builder 6 для работы с классами. Класс «Грузовики»: class TRACK: public AVTO {public: TRACK (String _marka, String _model, int _year, int _power, int _gruz, String _kuzovg); virtual void PRINT (TStringList *lines) {…}; virtual void GET (TStringList *lines) {…}; protected: int gruz; String kuzovg; }; Класс «Пассажирские»: class PASS: public AVTO {public: PASS (String _marka, String _model, int _year, int _power, int _mesta); virtual void PRINT (TStringList *lines) {…} virtual void GET (TStringList *lines) {…}; protected: int mesta; }; Класс «Автомобили» class CAR: public PASS {public: CAR (String _marka, String _model, int _year, int _power, int _mesta, String _kuzovl, String _klass); virtual void PRINT (TStringList *lines) {…} virtual void GET (TStringList *lines) {.} protected: String kuzovl; String klass; }; Класс «Автобусы» class BUS: public PASS {public: BUS (String _marka, String _model, int _year, int _power, int _mesta, String _type, int _dlina); virtual void PRINT (TStringList *lines) {…} virtual void GET (TStringList *lines) {…} protected: String type; int dlina; }; Для удобства работы с этими классами и обращения их к общей информации, такой как структура хранения указателей, счетчики записей и т.д., создан отдельный класс. Они реализуют: · Создание нового объекта (инициализирующий конструктор); · Функции вывода на экран; · Функции получения данных. 4. Автомобили Наименование поля Тип данных Марка Строка Модель Строка Год выпуска Целое число Мощность Целое число Вмещаемость целое число Тип кузова Строка Класс Строка Таблица 2. Результат тестирования программы № Тест Результат 1 Реализация иерархии классов: создание объектов (модули реализации классов) Успешно 2 Реализация иерархии классов: работа с полями (модули реализации классов) Отладка функций GET для доступа к полям объектов классов. Приложение 1 Текст программы // - #include #pragma hdrstop #include #include «first_u.h» // - #pragma package (smart_init) #pragma resource «*.dfm» TFirst *First; ///////////////////////////////////////////////// Базовый класс АВТО /////////////////////////////////////////////////////////////// class AVTO {public: AVTO (String _marka, String _model, int _year, int _power); virtual void PRINT (TStringList *lines) { lines->Add («Марка:» marka); lines->Add («Модель:» model); lines->Add («Год выпуска: « IntToStr(year)); lines->Add («Мощность:» IntToStr(power)); }; virtual void GET (TStringList *lines) { lines->Add(marka); lines->Add(model); lines->Add (IntToStr(year)); lines->Add (IntToStr(power)); }; protected: String marka; String model; int year; int power; }; AVTO:AVTO (String _marka, String _model, int _year, int _power): marka(_marka), model(_model), year(_year), power (_power) {}; ////////////////////////////////////// Подкласс ГРУЗОВИКИ класса АВТО /////////////////////////////////////////////////////////////// class TRACK: public AVTO {public: TRACK (String _marka, String _model, int _year, int _power, int _gruz, String _kuzovg); virtual void PRINT (TStringList *lines) { AVTO:PRINT(lines); lines->Add («Грузоподъемность:» IntToStr(gruz)); lines->Add («Тип грузовика:» kuzovg); } virtual void GET (TStringList *lines) { AVTO:GET(lines); lines->Add (IntToStr(gruz)); lines->Add(kuzovg); }; protected: int gruz; String kuzovg; }; TRACK:TRACK (String _marka, String _model, int _year, int _power, int _gruz, String_kuzovg): AVTO (_marka,_model,_year,_power), gruz(_gruz), kuzovg(_kuzovg) {}; ///////////////////////////////////// Подкласс ПАССАЖИРСКИЕ класса АВТО /////////////////////////////////////////////////////////////// class PASS: public AVTO {public: PASS (String _marka, String _model, int _year, int _power, int _mesta); virtual void PRINT (TStringList *lines) { AVTO:PRINT(lines); lines->Add («Вместимость:» IntToStr(mesta)); } virtual void GET (TStringList *lines) { AVTO:GET(lines); lines->Add (IntToStr(mesta)); }; protected: int mesta; }; PASS:PASS (String _marka, String _model, int _year, int _power, int _mesta):AVTO (_marka, _model, _year, _power), mesta(_mesta) {}; ///////////////////////////////////// Подкласс АВТОМОБИЛИ класса ПАССАЖИРСКИЕ /////////////////////////////////////////////////////////////// class CAR: public PASS {public: CAR (String _marka, String _model, int _year, int _power, int _mesta, String _kuzovl, String _klass); virtual void PRINT (TStringList *lines) { PASS:PRINT(lines); lines->Add («Кузов:» kuzovl); lines->Add («Класс авто:» klass); } virtual void GET (TStringList *lines) { PASS:GET(lines); lines->Add(kuzovl); lines->A
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?