Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как создать Разряженная Ленточная матрица Как создать разряженную ленточную матрицу, так что бы мы вводили только Например 1, 2, 3, и получали: 100 020 030 я нашел на форуме пример, но он не совмещается так как изначально принимал значения INT, я исправил на double но не работает... подскажите свои варианты создания Разряженной ленточной матрице... А вот что я нашел на форуме: int getEl(double ** array, int v, int h, int... https://www.cyberforum.ru/ cpp-beginners/ thread840000.html Вычислить двойной интеграл методом Гаусса C++
Неправильный результат выдаёт. Помогите найти в чём ошибка. (Visual C++ 2008) #include "stdafx.h" #include <iostream> #include <math.h> #include <stdio.h> #include <conio.h> #include <windows.h> #include <stdlib.h>
C++ шахматы Совсем беда, об ООП имею весьма неясные представления по части "какие возможности есть и как вообще это записать". Пересадили за Qt внезапно. Есть задача написать шахматы. Без ИИ, просто проверка на правильность хода каждого игрока. конкретный вопрос: Как организовать классы, чтобы привязать изображения и функции к кнопкам? так понимаю, нужно использовать класс QObject для клеток, отдельный... https://www.cyberforum.ru/ cpp-beginners/ thread839994.html C++ Дано дерево и два узла. Найти кратчайшее расстояние между узлами. https://www.cyberforum.ru/ cpp-beginners/ thread839993.html
Дано дерево и два узла. Найти кратчайшее расстояние между узлами.
Вызов функции из массива, через указатель C++
имею код #include <iostream> #include <vector> #include <utility> using namespace std; void Func() { cout<<"pFunc()"; } int main()
C++ В чем смысл выражения "y+='A'-10" ? https://www.cyberforum.ru/ cpp-beginners/ thread839983.html
В чем смысл выражения y+='A'-10;
C++ Реализация работы конечного автомата https://www.cyberforum.ru/ cpp-beginners/ thread839981.html
Задача: Построить конечный автомат, проверяющий есть ли во входной цепочке S хотя бы одна из следующих подстрок: X1=“aaa”; X2=“aab”; X3=“abab”. Нужно: 1) построить конечный автомат, таблицу переходов, схему переходов и прочее, прочее, прочее. - это всё сделано. 2) написать программу, реализующую работу этого автомата. программа должна работать с файлами. входной файл состоит из одной цепочки...
C++ Создание и разрушение объектов класса, исследование вызовов конструкторов и деструкторов
Здравствуйте! Проверте пожалуйста код и подскажите мои ошибки. Согласно теме необходимо разобрать класс библиотека(имя – char*, автор – char*,стоимость – float) #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; // начало объявления класса class biblioteka // имя класса {
C++ Написать класс котов Помогите пожалуйста написать программу... буду очень признательна :) Написать класс котов. Атрибутами кота есть действительный вес (в кг) и целый возраст (в годах). Методы описывают следующие действия: ввести и вывести данные о коте, сравнить двух котов по весу и возрасту, увеличить возраст кота на один год, изменить вес на заданную величину. Написать главную функцию, которая вводит и выводит... https://www.cyberforum.ru/ cpp-beginners/ thread839976.html C++ подскажите - консольное меню не реагирует на нажатие клавиш (case) вот код, mv 2008 компилируется без ошибок, но при выборе 1, 2, 3 или 4 в меню ничего происходит где косяк? #include "stdafx.h" #include <iostream> #include <fstream> #include <string.h> #include <conio.h> #include <iomanip> https://www.cyberforum.ru/ cpp-beginners/ thread839972.html
Программа на контестере проходит только 1 тест из 9. Можете объяснить, в чем моя ошибка и как ее исправить! C++
Объясните, в чем моя ошибка в решении задачи. Условие: 103. Подсчет войск ограничение времени на тест: 0.5 сек. ограничение памяти на тест: 65536 KB. ввод: input.txt вывод: output.txt
C++ Реализовать функцию, которая вычисляет общее количество требуемых элементов Подскажите пожалуйста, как реализовать функцию, которая вычисляет общее количество требуемых элементов. https://www.cyberforum.ru/ cpp-beginners/ thread839956.html
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 17
0

Наследование - C++ - Ответ 4425214

16.04.2013, 23:02. Показов 1001. Ответов 17
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, помогите пожалуйста с наследованием. Написал программу ( ниже ), но как видите пришлось в классе-наследнике Bus ( Vehicle базовый ) ещё раз писать функции arrive()/leave(), так как я несмог через Vehicle обратиться и изменить переменные класса Bus. Вопрос в том как именно осуществлять эти обращения

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
#include <iostream>
#include <assert.h>
using namespace std;
 
int people_on_base=100;
int vehicles_on_base=30;
double petrol_on_base=700;
double goods_on_base=45;
 
 
 
class Vehicle
{
protected:
    int people;
    double Petrol_Amount;
    double Tank_Volume;
public:
    Vehicle(double petrol_amount, double tank_volume):Petrol_Amount(petrol_amount),Tank_Volume(tank_volume),people(1){}
    double getTankVolume() const
    {
        return Tank_Volume;
    }
    double getPetrolAmount() const
    {
        return Petrol_Amount;
    }
    void arrive()
    {
        people_on_base++;
        vehicles_on_base++;
    }
    int leave()
    {
        people_on_base--;
        vehicles_on_base--;
        petrol_on_base=petrol_on_base-Tank_Volume+Petrol_Amount;
        return 0;
    }
};
 
class Bus : public Vehicle
{
protected:
    int PeopleCount;
    int MaxPeople;
public:
    Bus(int people, int max_people, double petrol, double max_petrol):PeopleCount(people),MaxPeople(max_people),Vehicle(petrol,max_petrol){}
    int getPeopleCount() const
    {
        return PeopleCount;
    }
    int getMaxPeople() const
    {
        return MaxPeople;
    }
    void arrive()
    {
        people_on_base=people_on_base+getPeopleCount()+1;
        vehicles_on_base++;
        PeopleCount=0;
    }
    int leave()
    {
        people_on_base=people_on_base-getMaxPeople()-1;
        vehicles_on_base--;
        petrol_on_base=petrol_on_base+(-Tank_Volume+Petrol_Amount);
        Petrol_Amount=Tank_Volume;
        PeopleCount=MaxPeople;
        return 0;
    }
};
 
class Truck : public Vehicle
{
protected:
    double goods;
public:
    Truck(double load, double max_load, double petrol, double max_petrol);
    double getCurrentLoad() const;
    double getMaxLoad() const;
};
 
int main()
{
 
    Bus v(32.5, 40, 19.5, 60);
 
cout << "Bus:\n";
cout << "People = " << v.getPeopleCount() << "\n";
cout << "Max people = " << v.getMaxPeople() << "\n";
cout << "Petrol = " << v.getPetrolAmount() << "\n";
cout << "Tank = " << v.getTankVolume() << "\n";
 
vehicles_on_base = 49;
people_on_base = 84;        // count
petrol_on_base = 1051;      // liters
goods_on_base  = 5.032;     // tons
 
cout << "\nBefore:\n";
cout << vehicles_on_base << "\n";
cout << people_on_base << "\n";
cout << petrol_on_base << "\n";
cout << goods_on_base << "\n";
 
// arrive
v.arrive();
 
cout << "\nArrived Bus:\n";
cout << "People = " << v.getPeopleCount() << "\n";
cout << "Max people = " << v.getMaxPeople() << "\n";
cout << "Petrol = " << v.getPetrolAmount() << "\n";
cout << "Tank = " << v.getTankVolume() << "\n";
 
cout << "\nArrived:\n";
cout << vehicles_on_base << "\n";
cout << people_on_base << "\n";
cout << petrol_on_base << "\n";
cout << goods_on_base << "\n";
 
// leave
assert(v.leave() >= 0);
 
cout << "\nLeft Bus:\n";
cout << "People = " << v.getPeopleCount() << "\n";
cout << "Petrol = " << v.getPetrolAmount() << "\n";
cout << "Tank = " << v.getTankVolume() << "\n";
 
cout << "\nLeft:\n";
cout << vehicles_on_base << "\n";
cout << people_on_base << "\n";
cout << petrol_on_base << "\n";
cout << goods_on_base << "\n";
 
    return 0;
}
Добавлено через 9 минут
Тоесть просто нужно чтоб функции arrive()/leave() были не в классе Bus, а в классе Vehicle (базовом)

Вернуться к обсуждению:
Наследование C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2013, 23:02
Готовые ответы и решения:

Заменить наследование классов на наследование интерфейсов
#include &lt;iostream&gt; #include &lt;assert.h&gt; using namespace std; int people_on_base = 100; int...

Наследование
Привет, Есть базовый класс Figure. Программа должна распознавать и считать площадь и периметр...

наследование в С++
Добрый вечер. относительно недавно мною была получена задача, а точнее несколько задач в одной...И...

Наследование
Создать класс CPoint – точка. На его основе создать классы CcoloredPoint и CLine. На основе ...

17
16.04.2013, 23:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2013, 23:02
Помогаю со студенческими работами здесь

наследование
Как наследовать классы с использованием виртуальных функций? Можете привести пример?

Наследование в C++
Прошу помощи, ибо С++ не моё, а лабораторные работы девушке сдавать надо: Создать 1 базовый...

Наследование
15. Описать производный класс, содержащий поле козырь, и функцию, проверяющую кроет ли карта,...

наследование
помогите пожалуйсто дописать класс многоугольников , и рисовать на монитор с помощью mfc , заранее...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru