Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Skovoroda
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 3
18.12.2011, 19:56     Наследование, базовые классы и производные классы #1
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и собственные компоненты производных классов.Первый базовый класс-средство передвижения.Поля в нем- вес,мощность,скорость. Во втором базовом классе описать страны-производители.Производные классы-автомобиль.Производные классы второго поколения- спортивный автомобиль,грузовой автомобиль.

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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 19:56     Наследование, базовые классы и производные классы
Посмотрите здесь:

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя. C++
C++ Абстрактные базовые классы
C++ Виртуальные абстрактные базовые классы
Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) C++
C++ виртуальные базовые классы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnDrew_LP
160 / 162 / 9
Регистрация: 29.05.2010
Сообщений: 435
18.12.2011, 20:02     Наследование, базовые классы и производные классы #2
В чем вопрос?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.12.2011, 20:09     Наследование, базовые классы и производные классы #3
Хм, ваш код надо проверить? Или просто похвалить?)
Skovoroda
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 минуты
я смутно понимаю как сделать производные классы второго поколения поэтому сделал производные классы от производного класса, может из за этого ошибки?
Yandex
Объявления
18.12.2011, 21:07     Наследование, базовые классы и производные классы
Ответ Создать тему
Опции темы

Текущее время: 09:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru