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

Транспорт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как преобразовать большое число в строку через stringstream и ограничить знаки после точки http://www.cyberforum.ru/cpp-beginners/thread586183.html
опять возникла проблема которая была недавно но с другим методом нужно преобразовать большое число типо double в строку через stringstream и ограничить количество знаков после запятой до двух ...
C++ Кто-нибудь реализовывал алгоритм Косарайю через класс? Нужно найти число компонент сильной связности в ориентированном графе. http://www.cyberforum.ru/cpp-beginners/thread586133.html
C++ Дана фраза. Определить сколько в ней симметричных пятибуквенных слов
Необходимо программу написать на С++.. Дана фраза. Определить,сколько в ней симметричных пятибуквенных слов. Добавлено через 10 часов 13 минут Помогите пожалуйста!!! Добавлено через 4 часа 8...
Как доработать ? C++
Из положительных значений двух целочисленных массивов различной размерности сформировать общий массив. Найти среднее арифметическое элементов, расположенных в массиве до первого простого числа....
C++ С Паскаля на С++ http://www.cyberforum.ru/cpp-beginners/thread586099.html
Кто способен переделать программу, написанную на Паскале, на С++?
C++ Как обнулить переменную типа stringstream использую stringstream для преобразования переменных в string stringstream sst; sst << 123456; string str = sst.str();// str == "123456" Но не пойму как обнулить sst после преобразования подробнее

Показать сообщение отдельно
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22

Транспорт - C++

25.05.2012, 05:32. Просмотров 1081. Ответов 4
Метки (Все метки)

Помогите с кодом!

Задание:
Создать абстрактный класс CVehicle. На его основе реализовать классы CPlane, ССаг и CShip. Классы должны иметь возможность задавать и получать координаты, параметры средств передвижения (цена, скорость, год выпуска). Для самолета должна быть определена высота, для самолета и корабля - количество пассажиров. Для корабля - порт приписки. Написать программу, которая создает список объектов этих классов в динамической памяти. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов.

Мой код:
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <string>
#include <list>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct CPoint 
{
int x;
int y;
};
 
 
class CVehicle
{
 
public:
virtual void move()=0;
CPoint GetCoords() {return coord;}
int GetPrice() {return price;} 
void SetPrice(int price) {this->price=price;} 
int GetVelocity() {return velocity;}
void SetVelocity(int velocity) {this->velocity=velocity;}
int GetYear() {return prodYear;}
void SetYear(int prodYear) {this->prodYear=prodYear;}
CVehicle ()
{
this->coord.x=0;
this->coord.y=0;
this->price=0;
this->velocity=0;
this->prodYear=0;
}
 
CVehicle (CPoint coord, int price, int velocity, int prodYear)
{
this->coord=coord;
this->price=price;
this->velocity=velocity;
this->prodYear=prodYear;
};
void SetCoords(CPoint coord) {this->coord=coord;}
protected:
CPoint coord;
int price;
int velocity;
int prodYear;
};
 
class CCar: public CVehicle
{
public:
CCar()
{
};
CCar(CPoint coord, int price, int velocity, int prodYear):CVehicle(coord, price, velocity, prodYear)
{
};
void move()
{
cout<<"The car moves"<<endl;
}
};
class CShip: public CVehicle
{
public:
CShip()
{
this->passengers=0;
this->port="";
};
 
CShip(CPoint coord, int price, int velocity, int prodYear, int passengers,string port):CVehicle(coord, price, velocity, prodYear)
{
this->passengers=passengers;
this->port=port;
};
int GetPassengers() {return passengers;}
void SetPassengers(int passengers) {this->passengers=passengers;}
string GetPort() {return port;}
void SetPort(string port) {this->port=port;}
void move()
{
cin>>passengers;
cout<<"Ship passengers"<<passengers;
cout<<"The ship moves"<<endl;
}
private:
int passengers;
string port;
 
}; 
 
class CPlane : public CVehicle
{
private:
int passengers;
int height;
public:
 
CPlane()
{
this->passengers=0;
this->height=0;
}
CPlane(CPoint coord, int price, int velocity, int prodYear, int passengers,int height):CVehicle(coord, price, velocity, prodYear)
{
this->passengers=passengers;
this->height=height;
};
int GetPassengers() {return passengers;}
void SetPassengers(int passengers) {this->passengers=passengers;}
int GetHeight() {return height;}
void SetHeight(int height) {this->height=height;}
void move()
{
cin>>passengers;
cout<<"Plane passengers"<<passengers;
cout<<"The plane moves"<<endl;
}
 
};
 
void main()
{
CVehicle *mashinka=new CCar();
CVehicle *samoletik=new CPlane();
CVehicle *korablik=new CShip();
list<CVehicle*> zhelezki; 
list<CVehicle*>::iterator it; 
zhelezki.push_back(mashinka);
zhelezki.push_back(samoletik);
zhelezki.push_back(korablik);
for(it=zhelezki.begin();it!=zhelezki.end();it++)
{ 
(*it)->move();
}
getch();
}
Помогите исправить!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru