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

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

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

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

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

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

Создать класс Vehicle, соСдержащий следующие элементы: C++
C++ Абстрактный класс и его производные
C++ Создать абстрактный базовый класс Vehicle
Как реализовать данный абстрактный класс? C++
C++ Определить базовый класс и на его основе производные классы
Создать абстрактный класс Vehicle C++
C++ Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема C++
C++ Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle
C++ Объясните как объявить абстрактный класс, и при этом не тащить виртуальные методы в производные классы
Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия) C++
C++ Реализовать абстрактный базовый класс «Фигура»

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fridi
-8 / 40 / 1
Регистрация: 21.09.2009
Сообщений: 145
06.11.2013, 11:19     Создать абстрактный класс Vehicle. На его основе реализовать классы: #2
ArtemTamkin в комерц
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,377
Завершенные тесты: 1
06.11.2013, 11:33     Создать абстрактный класс Vehicle. На его основе реализовать классы: #3
Цитата Сообщение от fridi Посмотреть сообщение
в комерц
А может кому-нибудь захочется попрактиковаться?

ArtemTamkin, или ждите (возможно бесконечно долго) или сами пробуйте делать, а наработки выкладывайте. Ну или как предложил fridi.
lemegeton
 Аватар для lemegeton
2914 / 1343 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.11.2013, 16:09     Создать абстрактный класс Vehicle. На его основе реализовать классы: #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;
}
ArtemTamkin
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 3
06.12.2013, 08:52  [ТС]     Создать абстрактный класс Vehicle. На его основе реализовать классы: #5
Благодарю, в скором испробую на работоспособность
zss
Модератор
Эксперт С++
 Аватар для zss
6111 / 5714 / 1849
Регистрация: 18.12.2011
Сообщений: 14,593
Завершенные тесты: 1
06.12.2013, 09:02     Создать абстрактный класс Vehicle. На его основе реализовать классы: #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;
}
Yandex
Объявления
06.12.2013, 09:02     Создать абстрактный класс Vehicle. На его основе реализовать классы:
Ответ Создать тему
Опции темы

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