0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 3
1

Наследование, базовые классы и производные классы

18.12.2011, 19:56. Показов 6580. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и собственные компоненты производных классов.Первый базовый класс-средство передвижения.Поля в нем- вес,мощность,скорость. Во втором базовом классе описать страны-производители.Производные классы-автомобиль.Производные классы второго поколения- спортивный автомобиль,грузовой автомобиль.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <conio.h>
 
using namespace std;
 
class transport
{
    int weight;
    int power;
    int speed;
public:
    transport (int,int,int);
    virtual void display();
};
 
class countries
{
    char* country;
public:
    countries (char*);
    virtual void display();
};
 
class car:public transport,public countries
{
    char* carname;
public:
    car(int, int, int , char*, char*);
    void display();
};
 
class sportcar:public car
{
    char* carsport;
public:
    sportcar(int, int, int , char*, char*,char*);
    void display();
};
 
class truck:public car
{
    char* cartruck;
public:
    truck(int, int, int , char*, char*,char*);
    void display();
};
 
transport::transport(int transport_weight,int transport_power,int transport_speed)
   :weight (transport_weight), power (transport_power), speed (transport_speed)
{}
 
countries::countries(char* countries_country)
   :country (countries_country)
{}
 
car::car(int transport_weight,int transport_power,int transport_speed,char* countries_country,char* car_carname)
   :transport(transport_weight,transport_power,transport_speed), countries(countries_country),carname (car_carname)
{}
 
sportcar::sportcar(int transport_weight,int transport_power,int transport_speed,char* countries_country,char* car_carname,char* sportcar_carsport)
   :transport(transport_weight,transport_power,transport_speed), countries(countries_country),car (car_carname),carsport (sportcar_carsport)
{}   // ошибка 2664, ошибка 2614(два раза)
 
truck::truck(int transport_weight,int transport_power,int transport_speed,char* countries_country,char* car_carname,char* truck_cartruck)
   :transport(transport_weight,transport_power,transport_speed), countries(countries_country),car (car_carname),cartruck (truck_cartruck)
{}  // ошибка 2664, ошибка 2614(три раза)
 
void transport::display()
{
    cout<<weight<<endl<<power<<endl<<speed<<endl;
}
 
void countries::display()
{
    cout<<country<<endl;
}
 
void car::display()
{
    transport::display();
    countries::display();
    cout<<"Name of the car: "<<carname<<endl;
}
 
void sportcar::display()
{
    car::display();
    cout<<carsport<<endl;
}
 
void truck::display()
{
    car::display();
    cout<<cartruck<<endl;
}
 
void main()
{
    //transport* x= new transport(1200,300,180),t*;
    //countries* y=new countries("America");
    //car* z= new car(
    sportcar* s=new sportcar(1200,300,180,"USA","Ford Mustang '69","Sportcar");
    truck* t=new truck(2000,150,160,"USSR","Gazelle","Truck");
    s->display();
    cout<<"________________________"<<endl;
    t->display();
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2011, 19:56
Ответы с готовыми решениями:

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы...

Виртуальные базовые классы/закрытое наследование
Хотел уточнить правильно ли я понял материал. Если я породил два класса через виртуальное, открытое...

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя.
Движок (двигатель с кривошипно-шатунным механизмом) Ребята, кто может, помогите очень надо! получу...

Абстрактные базовые классы
Помогите решить пожалуйста!) Задание 1 . Создать базовый класс - фигура, и производные класс -...

3
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
18.12.2011, 20:02 2
В чем вопрос?
0
575 / 558 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
18.12.2011, 20:09 3
Хм, ваш код надо проверить? Или просто похвалить?)
0
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 3
18.12.2011, 21:07  [ТС] 4
там наверно плохо видно))

sportcar::sportcar(int transport_weight,int transport_power,int transport_speed,char* countries_country,char* car_carname,char* sportcar_carsport)
:transport(transport_weight,transport_power,transport_speed), countries(countries_country),car (car_carname),carsport (sportcar_carsport)
{} // ошибка 2664, ошибка 2614(два раза)

truck::truck(int transport_weight,int transport_power,int transport_speed,char* countries_country,char* car_carname,char* truck_cartruck)
:transport(transport_weight,transport_power,transport_speed), countries(countries_country),car (car_carname),cartruck (truck_cartruck)
{} // ошибка 2664, ошибка 2614(три раза)

ошибки выдает в конструкторах

Добавлено через 1 минуту
вопрос в том как убрать ошибки в конструкторах производных классов(которые и сами являются производными)

Добавлено через 52 минуты
я смутно понимаю как сделать производные классы второго поколения поэтому сделал производные классы от производного класса, может из за этого ошибки?
0
18.12.2011, 21:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2011, 21:07
Помогаю со студенческими работами здесь

Виртуальные базовые классы
Есть программа. Нужно сделать с ней виртуальный базовый класс и написать коментарии. #include...

Виртуальные базовые классы
Необходимо написать примеры с комментариями использования виртуальных базовых классов

Абстрактные базовые классы
Не могу создать экземпляр производного от АБК класса: #pragma once class BaseEllips { private:...

Базовые и порожденные классы
Здравствуйте, помогите пожалуйста с вопросом: Что должно быть предусмотрено в базовом классе,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru