Новичок
Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.12.2014
Репутация: нет Всего: нет
|
Программа запускается, но сразу же выдает ошибку. Помогите пожалуйста решить эту проблему. И если что-то написано неправильно, помогите ,пожалуйста, исправить ошибки. Возможна ли реализация здесь абстрактных классов? | Код |
#include <stdio.h> #include <string.h> #include <Windows.h> #include <iostream> #include <locale.h>
using namespace std;
class Type_TS
{ public: Type_TS(char *, int); virtual void show_TS(void); private: char name[40]; int pas; };
Type_TS::Type_TS(char *name,int pas)
{ strcpy(Type_TS::name, name); Type_TS::pas = pas; }
void Type_TS::show_TS(void)
{ cout << "Наименование транспортного средства: " << name << endl; cout << "Количество пассажиров: " << pas << endl;
}
class board_comp
{ public: board_comp(char*,char*,int, float, int); virtual void show_board_comp(void); protected: char os[70]; char name_comp[80]; int RAM; float diag_mon; int temp; char* get_os() {return os ;}; char* get_name_comp(){return name_comp ;}; int get_RAM(){return RAM ;}; float get_diag_mon(){return diag_mon ;}; int get_temp(){return temp ;};
};
board_comp::board_comp(char *name_comp,char *os,int RAM, float diag_mon, int temp)
{ strcpy(board_comp::name_comp,name_comp); board_comp::RAM = RAM; board_comp::diag_mon=diag_mon; strcpy(board_comp::os,os); board_comp::temp=temp;
}
void board_comp::show_board_comp(void)
{ cout << "Название бортового компьютера: " << name_comp << endl; cout<<"Диагональ экрана"<<diag_mon<<"Дюйма"<<endl; cout << "Оперативное запоминающее устройство: " << RAM << " МВайт" << endl; cout << "Рабочая минимальная температура: " << temp << " градусов Цельсия" << endl; cout << "ОЗУ: " << RAM << " МВайт" << endl; }
class concept_version : public Type_TS, private board_comp
{ public: concept_version(int,int,int,float,char *, int, char*,char*,int, float, int); virtual void show_concept_version (void); protected: int day; int month; int year; float cost; };
concept_version::concept_version(int day,int month,int year,float cost,char *name,int pas,char *name_comp,char *os,int RAM, float diag_mon, int temp):Type_TS(name,pas),board_comp(name_comp, os, RAM, diag_mon, temp) {
concept_version::day = day; concept_version::month = month; concept_version::year = year; concept_version::cost = cost; }
void concept_version::show_concept_version(void)
{ cout << "Дата релиза: " << day <<"."<<month<<"."<<year<< endl; cout << "Предварительная цена: " << cost << "$" << endl; show_board_comp(); show_TS(); }
class budget_TS: public concept_version
{ public: budget_TS(char* , float ,int ,int ,int ,float ,char *,int ,char *,char *,int , float , int ); void show___TS(void); protected: char* type_dv; float vol_dv; };
budget_TS::budget_TS(char* type_dv, float vol_dv,int day,int month,int year,float cost,char *name,int pas,char *name_comp,char *os,int RAM, float diag_mon, int temp):concept_version(day, month, year, cost,name,pas,name_comp, os, RAM, diag_mon, temp) { strcpy(budget_TS::type_dv, type_dv); budget_TS::vol_dv=vol_dv;/**/ }
void budget_TS::show___TS(void) { cout << "Тип двигателя: " << type_dv << endl; cout << "Объем двигателя: " << vol_dv<< endl; show_concept_version(); }
class collect_TS: public concept_version
{ public: collect_TS(char* , int,int ,int ,int ,int ,float ,char *,int ,char *,char *,int , float , int ); virtual void show__TS(void); protected: char* spec; int acsesss; int exempl; };
collect_TS::collect_TS(char* spec, int acsesss,int exempl,int day,int month,int year,float cost,char *name,int pas,char *name_comp,char *os,int RAM, float diag_mon, int temp):concept_version(day, month, year, cost,name,pas,name_comp, os, RAM, diag_mon, temp) { strcpy(collect_TS::spec, spec); collect_TS::acsesss=acsesss; collect_TS::exempl=exempl; }
void collect_TS::show__TS(void) { cout << "Количество выпущенных экземпляров:: " << exempl << endl; cout << "Количество дополнительных аксессуаров: " << acsesss<< endl; cout << "Особенности: " << spec<< endl; show_concept_version(); }
void main(void)
{ setlocale(LC_ALL, "russian"); collect_TS col("BMV-NIONO6", 20, 200, 15, 07, 2015, 9560000, "name", 4, "PI-602", "Wind", 47,8,-15); col.show__TS(); budget_TS bud("Lok-95", 60, 15, 07, 2015, 9560000, "name", 4, "PI-602", "Wind", 47,8,-15); bud.show___TS(); system("pause"); }
|
|