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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ArtemTamkin
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 3
#1

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

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

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

Создать абстрактный класс Vehicle - C++
Создать абстрактный класс Vehicle (транспортное средство). На его основе реализовать классы Plane (самолет), Саг (автомобиль) и Ship...

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

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

Создать базовый класс список и реализовать на его основе стек и очередь - C++
2. Создать базовый класс список. Реализовать на базе списка стек и очередь с виртуальными функциями вставки и вытаскивания.

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

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle - C++
Создать абстрактный базовый класс Figure с виртуальной функцией -периметр.Создать производные классы Rectangle, Circle,Triangle,Rhomb в...

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

ArtemTamkin, или ждите (возможно бесконечно долго) или сами пробуйте делать, а наработки выкладывайте. Ну или как предложил fridi.
0
lemegeton
2925 / 1354 / 135
Регистрация: 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
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,387
Завершенные тесты: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 09:02
Привет! Вот еще темы с ответами:

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

Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема - C++
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема:...

Создать абстрактный базовый класс Figure и производные классы Rectangle, Circle - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...

Определить базовый класс и на его основе производные классы - C++
Разработать консольную программу на языке С++, в которой необходимо определить базовый класс и на его основе производные классы. Кроме...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
06.12.2013, 09:02
Ответ Создать тему
Опции темы

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