Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
ArtemTamkin
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 3
1

Создать абстрактный класс Vehicle. На его основе реализовать классы:

06.11.2013, 11:17. Просмотров 1290. Ответов 5
Метки нет (Все метки)

Создать абстрактный класс Vehicle. На его основе реализовать классы Car (автомобиль), Bicycle (велосипед) и Lorry (грузовик). Классы должны иметь возможность задавать и получать параметры средств передвижения (цена, максимальная скорость, год выпуска и т.д.). Наряду с общими полями и методами, каждый класс должен содержать и специфичные для него поля.
10
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 11:17
Ответы с готовыми решениями:

Создать абстрактный класс Pair, на его основе реализовать классы Money и Complex-С++
Создать абстрактный класс Pair (пара значений) с виртуальными методами,...

Создать абстрактный класс Vehicle
Создать абстрактный класс Vehicle (транспортное средство). На его основе...

Создать абстрактный базовый класс Vehicle
Доброго всем дня! проблема в следующем - не могу понять условия задания. Мне...

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия)
Привет Помогите пожалуйста с решением задачи на C++. вот задание: ...

Создать базовый класс список и реализовать на его основе стек и очередь
2. Создать базовый класс список. Реализовать на базе списка стек и очередь с ...

5
fridi
42 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
06.11.2013, 11:19 2
ArtemTamkin в комерц
0
SatanaXIII
Супер-модератор
Эксперт С++
5773 / 2772 / 376
Регистрация: 01.11.2011
Сообщений: 6,744
Завершенные тесты: 1
06.11.2013, 11:33 3
Цитата Сообщение от fridi Посмотреть сообщение
в комерц
А может кому-нибудь захочется попрактиковаться?

ArtemTamkin, или ждите (возможно бесконечно долго) или сами пробуйте делать, а наработки выкладывайте. Ну или как предложил fridi.
0
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
06.11.2013, 16:09 4
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
#include <iostream>
 
class Vehicle {
 public:
  Vehicle(long price, int maxSpeed, int year)
    : price(price), maxSpeed(maxSpeed), year(year) {}
  long getPrice() const { return price; }
  int getMaxSpeed() const { return maxSpeed; };
  int getYear() const { return year; }
 private:
  long price;
  int maxSpeed;
  int year;
};
 
class Car : public Vehicle {
 public:
  Car(long price, int maxSpeed, int year, int power)
    : Vehicle(price, maxSpeed, year), power(power) {}
  int getPower() const { return power; }
 private:
  int power;
};
 
class Bicycle : public Vehicle {
 public:
  Bicycle(long price, int maxSpeed, int year, int typeId)
    : Vehicle(price, maxSpeed, year), typeId(typeId) {}
  int getTypeId() const { return typeId; }
 private:
  int typeId;
};
 
class Lurry : public Vehicle {
 public:
  Lurry(long price, int maxSpeed, int year, double capacity)
    : Vehicle(price, maxSpeed, year), capacity(capacity) {}
  double getCapacity() const { return capacity; }
 private:
  double capacity;
};
 
int main() {
  Vehicle v = Lurry(120000, 139, 2011, 7500.5);
  std::cout << v.getMaxSpeed() << std::endl;
  return 0;
}
0
ArtemTamkin
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 3
06.12.2013, 08:52  [ТС] 5
Благодарю, в скором испробую на работоспособность
0
zss
Модератор
Эксперт С++
7257 / 6703 / 4243
Регистрация: 18.12.2011
Сообщений: 17,692
Завершенные тесты: 1
06.12.2013, 09:02 6
В задании сказано, что базовый класс должен быть абстрактным,
т.е. в нем должна быть хотя бы одна чистая виртуальная функция.
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
class Vehicle {
 public:
  Vehicle(long price, int maxSpeed, int year)
    : price(price), maxSpeed(maxSpeed), year(year) {}
  virtual long getPrice()=0;
  int getMaxSpeed() const { return maxSpeed; };
  int getYear() const { return year; }
 private:
  long price;
  int maxSpeed;
  int year;
};
 
class Car : public Vehicle {
 public:
  Car(long price, int maxSpeed, int year, int power)
    : Vehicle(price, maxSpeed, year), power(power) {}
  int getPower() const { return power; }
  long getPrice(){return price*power;}
 private:
  int power;
};
 
class Bicycle : public Vehicle {
 public:
  Bicycle(long price, int maxSpeed, int year, int typeId)
    : Vehicle(price, maxSpeed, year), typeId(typeId) {}
  int getTypeId() const { return typeId; }
  long getPrice(){return price+typeId;}
 private:
  int typeId;
};
 
class Lurry : public Vehicle {
 public:
  Lurry(long price, int maxSpeed, int year, double capacity)
    : Vehicle(price, maxSpeed, year), capacity(capacity) {}
  double getCapacity() const { return capacity; }
 private:
  double capacity;
};
 
int main() {
  Vehicle* v =new Lurry(120000, 139, 2011, 7500.5);
  std::cout << v->getPrice() << std::endl;
   delete v;
  v=new Bicycle(120000, 139, 2011, 2013);
  std::cout << v->getPrice() << std::endl;
  return 0;
}
0
06.12.2013, 09:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 09:02

Создать класс - данные - абстрактный базовый класс. Создать производные классы
Всем привет! У меня вот такая проблема.... Создать класс - данные -...

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle
Создать абстрактный базовый класс Figure с виртуальной функцией...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru