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

Программирование на С++ с использованием классов. Массивы объектов. Наследование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нарисовать фигуру. Полукруг. http://www.cyberforum.ru/cpp-beginners/thread224652.html
Всем привет. Осталась одна последняя лаба. Она очень сложная(для меня). Мы сделали эту фигуру, но она очень большая...Изменяя координаты, она либо теряет форму, либо ничего не изменяет... Так как по коду наверно не понять, я скину сам проект. P.S. проект вирусов не содержит)))
C++ Агаа,ну подскажите. блин ну почему сложно просто сказать сайт где можно скачать книгу на русском языке. Я не прошу давать ссылку. В правилах не написано что нельзя давать сайты. Тем более я где то видел что давали ссылку на программу visual c++,так что скажите НА КАКОМ САЙТЕ можно скачатьApress.Pro.dot.NET.2.0.Windows.Forms.and.Custom.Controls.in.C.Sharp.Dec.2005 RUS ( тока на русском языке или какую нибудь тоже... http://www.cyberforum.ru/cpp-beginners/thread224648.html
Вывести номера столбцов, в которых находится более двух простых чисел C++
Задали решить задачу.Сама не справляюсь((((Помогите пожалуйста! Задана матрица целых чисел А(n,n).вывести номера столбцов в которых находится более двух простых чисел.Найти сумму положительных элементов на периметре матрицы. Заранее СПАСИБО!
C++ Рекурсивная функция
Как быть? Мне надо вызывать рекурсивную функцию очень много раз,вплоть до того что вылетает ошибка unhandled exception at ... 0xC00000FD stack overflow Но я не вижу другого решения своей задачи,как не рекурсия... Я надеюсь есть какие то способы вызывать рекурсию ужасное кол-во раз (10000++++) ?:cry:
C++ полином тейлора http://www.cyberforum.ru/cpp-beginners/thread224630.html
Люди,помогите написать рекурсию для такого задания(на вложенной фотке номер 14)... плизззззз.......
C++ Найти наибольший элемент матрицы Найти наибольший элемент матрицы и записать единицу в тот рядок и столбец на перекрёстке которых он содержится.Размерность матрицы вводить с клавиатуры,а элементы разместить в памяти динамически. Проверьте плиз прогу #include <iostream.h> #include <stdio.h> #include <conio.h> void main() { int i,j,m,n,x,y,max; подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4961 / 3037 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2011, 13:02     Программирование на С++ с использованием классов. Массивы объектов. Наследование
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#include <iostream>
 
//-----------------------------------------------------------------------------
 
class Circle
{
public:
    Circle();
    Circle(double);
 
    void set_r(double);
    double get_r() const;
 
    double area() const;
    double circuit() const;
 
    void print_area() const;
    void print_circuit() const;
 
private:
    double _r;
    
    static const double Pi;
};
 
const double Circle::Pi = 3.14159265358979323;
 
Circle::Circle():
_r(1)
{
}
 
Circle::Circle(double r):
_r(r)
{
}
 
void Circle::set_r(double r)
{
    _r = r;
}
 
double Circle::get_r() const
{
    return _r;
}
 
double Circle::area() const
{
    return Pi * _r * _r;
}
 
double Circle::circuit() const
{
    return 2 * Pi * _r;
}
 
void Circle::print_area() const
{
    std::cout << area();
}
 
void Circle::print_circuit() const
{
    std::cout << circuit();
}
 
//-----------------------------------------------------------------------------
 
class Cylinder: public Circle
{
public:
    Cylinder();
    Cylinder(double, double);
 
    void set_h(double);
    double get_h() const;
 
    double area() const;
    double volume() const;
 
    void print_area() const;
    void print_volume() const;
 
private:
    double _h;
};
 
Cylinder::Cylinder():
Circle(),
_h(1)
{
}
 
Cylinder::Cylinder(double r, double h):
Circle(r),
_h(h)
{
}
 
void Cylinder::set_h(double h)
{
    _h = h;
}
 
double Cylinder::get_h() const
{
    return _h;
}
 
double Cylinder::area() const
{
    return Circle::circuit() * (get_r() + _h);
}
 
double Cylinder::volume() const
{
    return Circle::area() * _h;
}
 
void Cylinder::print_area() const
{
    std::cout << area();
}
 
void Cylinder::print_volume() const
{
    std::cout << volume();
}
 
//-----------------------------------------------------------------------------
 
const int N = 3;
const int M = 5;
 
int main()
{
    Circle circle_arr[N];
    Cylinder cylinder_arr[M];
 
    double max_circle_area;
    double avg_cylinder_volume = 0;
 
    std::cout << "Circles:" << std::endl;
 
    for (int i = 0; i < N; ++i)
    {
        double r;
 
        std::cout << "Enter r [" << i << "]: ";
        std::cin >> r;
 
        circle_arr[i].set_r(r);
 
        if (i == 0)
            max_circle_area = circle_arr[0].area();
        else
        {
            double area = circle_arr[i].area();
 
            if (max_circle_area < area)
                max_circle_area = area;
        }
    }
 
    std::cout << std::endl;
 
    std::cout << "Cylinders:" << std::endl;
 
    for (int i = 0; i < M; ++i)
    {
        double r;
        double h;
 
        std::cout << "Enter r [" << i << "]: ";
        std::cin >> r;
        std::cout << "Enter h [" << i << "]: ";
        std::cin >> h;
 
        cylinder_arr[i].set_r(r);
        cylinder_arr[i].set_h(h);
 
        avg_cylinder_volume += cylinder_arr[i].volume();
    }
 
    avg_cylinder_volume /= M;
 
    std::cout << std::endl;
 
    std::cout << "Max circle area: " << max_circle_area << std::endl;
    std::cout << "Avg cylinder volume: " << avg_cylinder_volume << std::endl;
 
    return 0;
}
Добавлено через 4 минуты
volovzi, да это просто непонимание сути наследование (как бы абсурдно это не звучало - преподаватель не понимает то, что преподаёт студентам о_О). Правильнее было бы сделать абстрактный класс Shape, а от него наследовать и круг, и цилиндр. Короче позднее связывание рулит)))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru