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

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

Войти
Регистрация
Восстановить пароль
 
Jman
43 / 43 / 10
Регистрация: 11.10.2015
Сообщений: 462
Завершенные тесты: 2
#1

Создать класс «Авто», Наследование - C++

26.07.2016, 08:46. Просмотров 257. Ответов 3
Метки нет (Все метки)

Приветствую... Помогите однотипную задачку решить, только с наследованием.
Создать класс «Авто», с полями «марка», «максимальная скорость», «тип
коробки передач» и функцию - член «вывод информации». Сделать для него наследуемый его класс
«грузовик»
Пока смог набросать только такой бред... Тямы не хватает решить полностью. Помогите пожалуйста.
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
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
 
class Car 
{
protected:
        char model[20];
        int max_speed;
        char gear[50];
public:
    virtual void info() = 0;
};
 
class Auto : public Car 
{   
    void info() 
    {
        cout << "Скорость: " << max_speed << endl;
    }
};
 
class Truck : public Car
{
    int speed= 200;
    void info()
    {
        cout << "Масса: " << speed<< endl;
    }
};
 
int main() {
    setlocale(0, "");
    Car *obj;
    obj = new Auto;
    obj->info();
    delete obj;
    obj = new Truck;
    obj->info();
    delete obj;
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2016, 08:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс «Авто», Наследование (C++):

Описать базовый класс автомобиль и от него наследуются классы: грузовые авто, уборочные авто, спортивные авто - C++
Всем привет!:) хочу спросить кто нибудь писал программы с наследованием на С++? Интересны задачи типа : &quot;Описать базовый класс автомобиль...

Наследование: Создать класс двигатель - C++
Создать класс двигатель, имеющий мощность. Определить конструкторы и метод доступа Создать класс автомашины, содержащий класс двигатель....

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) - C++
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию...

Наследование: Создать класс человек, имеющий имя, возраст, вес - C++
Создать класс человек, имеющий имя (указатель на строку), возраст, вес. Определить конструкторы, деструктор и оператор присваивания....

Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *) - C++
. Создать иерархию классов представляющих простое наследование. Базовый класс – строка символов (char *). Производный класс – методы,...

Наследование: базовый класс Квадрат, производный класс Пирамида - C++
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы...

3
kylroma
Одессит
204 / 75 / 22
Регистрация: 30.12.2013
Сообщений: 273
Записей в блоге: 1
Завершенные тесты: 1
26.07.2016, 09:09 #2
а чего в наследниках метод info() стоит в private?

Добавлено через 16 минут
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
class Car
{
protected:
        char *model;
        int max_speed;
        char *gear;
public:
    Car(const char *mod, int speed, const char *g) : model((char*)mod), max_speed(speed), gear((char*)g)
    {
 
    }
    virtual void info() const = 0;
};
 
class Auto : public Car
{
public:
    Auto(const char *mod, int speed, const char *g) : Car(mod, speed, g){}
    void info() const
    {
        cout << "Auto: " << max_speed << endl;
    }
};
 
class Truck : public Car
{
public:
    Truck(const char *mod, int speed, const char *g) : Car(mod, speed, g){}
    void info() const
    {
        cout << "Truck: " << max_speed<< endl;
    }
};
 
int main() {
    setlocale(0, "");
    Car *obj;
    obj = new Auto("BMW", 220, "Auto");
    obj->info();
    delete obj;
    obj = new Truck("TZ", 75, "Auto");
    obj->info();
    delete obj;
    _getch();
    return 0;
}
1
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 245
Завершенные тесты: 4
26.07.2016, 09:16 #3
Собственно, кроме того, что у вас не инициализированная переменная max_speed, проблем в вашем коде я не вижу. Уточните, пожалуйста, с чем вам нужна помощь.
0
rikimaru2013
C++ Game Dev
2436 / 1130 / 240
Регистрация: 30.11.2013
Сообщений: 3,688
26.07.2016, 11:11 #4
Цитата Сообщение от kylroma Посмотреть сообщение
а чего в наследниках метод info() стоит в private?
Трюк такой есть для предотвращения загромажденния интерфейса класса
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2016, 11:11
Привет! Вот еще темы с ответами:

Абстрактный класс, наследование, класс хранится в другом классе - C++
Нужна помощь. Написать программу: 1 класс. Имеется абстрактный класс который описывает какую-то сущность, например Человек. В абстрактном...

Наследование. Класс Круг и класс эллипс - C++
Здравствуйте уважаемые программисты. Нужно исправить ошибки в программе. Честно я в этом ничего не понимаю. Вот код программы: #include...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...


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

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

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