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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как создать Разряженная Ленточная матрица http://www.cyberforum.ru/cpp-beginners/thread840000.html
Как создать разряженную ленточную матрицу, так что бы мы вводили только Например 1, 2, 3, и получали: 100 020 030 я нашел на форуме пример, но он не совмещается так как изначально принимал значения INT, я исправил на double но не работает... подскажите свои варианты создания Разряженной ленточной матрице... А вот что я нашел на форуме: int getEl(double ** array, int v, int h, int...
C++ Вычислить двойной интеграл методом Гаусса Неправильный результат выдаёт. Помогите найти в чём ошибка. (Visual C++ 2008) #include "stdafx.h" #include <iostream> #include <math.h> #include <stdio.h> #include <conio.h> #include <windows.h> #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread839999.html
C++ шахматы
Совсем беда, об ООП имею весьма неясные представления по части "какие возможности есть и как вообще это записать". Пересадили за Qt внезапно. Есть задача написать шахматы. Без ИИ, просто проверка на правильность хода каждого игрока. конкретный вопрос: Как организовать классы, чтобы привязать изображения и функции к кнопкам? так понимаю, нужно использовать класс QObject для клеток, отдельный...
Дано дерево и два узла. Найти кратчайшее расстояние между узлами. C++
Дано дерево и два узла. Найти кратчайшее расстояние между узлами.
C++ Вызов функции из массива, через указатель http://www.cyberforum.ru/cpp-beginners/thread839985.html
имею код #include <iostream> #include <vector> #include <utility> using namespace std; void Func() { cout<<"pFunc()"; } int main()
C++ В чем смысл выражения "y+='A'-10" ? В чем смысл выражения y+='A'-10; подробнее

Показать сообщение отдельно
Angels737
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 17
17.04.2013, 00:47  [ТС]     Наследование
Дописал программу
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <iostream>
#include <assert.h>
#include <vector>
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()
    {
        if ( petrol_on_base+Petrol_Amount<Tank_Volume )
        {
            return -1;
        }
        if ( people_on_base<=0 )
        {
            return -1;
        }
        else
            people_on_base--;
            vehicles_on_base--;
            petrol_on_base=petrol_on_base-Tank_Volume+Petrol_Amount;
            Petrol_Amount=Tank_Volume;
            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()
    {
        if ( petrol_on_base+Petrol_Amount<Tank_Volume )
        {
            return -1;
        }
        if ( people_on_base<=0 )
        {
            return -1;
        }
        if ( people_on_base<MaxPeople )
        {
            people_on_base=0;
        }
        else
        {
            people_on_base=people_on_base-getMaxPeople()-1;
            PeopleCount=MaxPeople;
        }
            vehicles_on_base--;
            petrol_on_base=petrol_on_base+(-Tank_Volume+Petrol_Amount);
            Petrol_Amount=Tank_Volume;
        return 0;
    }
};
 
class Truck : public Vehicle
{
protected:
    double CurrentLoad;
    double MaxLoad;
public:
    Truck(double load, double max_load, double petrol, double max_petrol):CurrentLoad(load),MaxLoad(max_load),Vehicle(petrol,max_petrol){}
    double getCurrentLoad() const
    {
        return CurrentLoad;
    }
    double getMaxLoad() const
    {
        return MaxLoad;
    }
        void arrive()
    {
        people_on_base++;
        vehicles_on_base++;
        goods_on_base+=CurrentLoad;
        CurrentLoad=0;
    }
    int leave()
    {
        if ( petrol_on_base+Petrol_Amount<Tank_Volume )
        {
            return -1;
        }
        if ( people_on_base<=0 )
        {
            return -1;
        }
        if ( goods_on_base<MaxLoad )
        {
            goods_on_base=0;
        }
        else
        {
            goods_on_base=goods_on_base-MaxLoad;
            CurrentLoad=MaxLoad;
        }
        people_on_base--;
        vehicles_on_base--;
        petrol_on_base=petrol_on_base-Tank_Volume+Petrol_Amount;
        Petrol_Amount=Tank_Volume;
        return 0;
    }
};
 
int main()
{
 
    return 0;
}
 
Текущее время: 08:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru