Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Множественное наследование (private,public) 
:(
    Опции темы
Kioko
  Дата 24.12.2014, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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");
} 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.