Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 64
1

Наследование: почему неправильно подставляется значение радиуса в метод вычисления объема?

06.09.2019, 16:33. Показов 1262. Ответов 5

Добрый день! Не могу понять почему неправильно подставляется значение радиуса (r) в метод вычисления объема

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
#include <iostream>
#include <cmath>
using namespace std;
 
//класс круг
class circle{
protected:
     double r;
public:
    void vvod();
    void vivod();
    double findS();
};
 
 
    //ввод радиуса
void circle :: vvod(){
 
    cout << "Введите радиус" << endl;
    cin >> r;
}
    //вывод радиуса
void circle :: vivod(){
 
    cout << "R = " << r << endl;
}
    //площадь круга
double circle :: findS(){
    double s = 3.14 * r * r;
    return s;
}
 
//класс конус
class cone : public circle{
public:
    double volume();
};
 
//объем конуса
double cone :: volume(){
 
    cout << "Введите высоту" << endl;
    double h;
    cin >> h;
    double res = (3.14 * r * r * h) / 3;
 
    return res;
}
 
 
int main()
{   setlocale(LC_ALL,"RUS");
 
    circle c;
    c.vvod();
    c.vivod();
    double res1 = c.findS();
    cout << "Площадь круга = " << res1 << endl;
 
    cone cn;
    double res2 = cn.volume();
    cout << res2;
 
 
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2019, 16:33
Ответы с готовыми решениями:

Написать метод для вычисления объема куба
Написать метод для вычисления объема куба. Если в метод переданы некорректные значения – вернуть...

Неправильно Подставляется Домен При Получении Писем Без Домена
Доброго времени суток. OS: Win2008 Domino: 8.5.3 FP2 У нас в организации 2 почтовых домена на...

Наследование: почему вызывается метод базового класса, а не производного?
Всем привет, такой вопрос, почему вызывается в данном коде метод базового класса, а не производного...

Class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора
class A { хранит координаты радиуса-вектора (х,у) и имеет метод для вычисления длины вектора class...

5
Нарушитель
1486 / 1288 / 485
Регистрация: 16.08.2014
Сообщений: 5,415
Записей в блоге: 1
06.09.2019, 16:40 2
Цитата Сообщение от vladiks1805 Посмотреть сообщение
в метод вычисления объема
для cone ты радиус не ввел же.

Добавлено через 1 минуту
и высота должна быть наверное полем класса cone
0
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 64
06.09.2019, 16:42  [ТС] 3
r должен наследоваться от класса circle
0
Нарушитель
1486 / 1288 / 485
Регистрация: 16.08.2014
Сообщений: 5,415
Записей в блоге: 1
06.09.2019, 16:44 4
Лучший ответ Сообщение было отмечено vladiks1805 как решение

Решение

Цитата Сообщение от vladiks1805 Посмотреть сообщение
r должен наследоваться от класса circle
она наследуется как поле класса, но значение этого поля не наследуется его надо вводить отдельно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{   setlocale(LC_ALL,"RUS");
 
    circle c;
    c.vvod();
    c.vivod();
    double res1 = c.findS();
    cout << "Площадь круга = " << res1 << endl;
 
    cone cn;
    cn.vvod();
    cn.vivod();
    double res2 = cn.volume();
    cout << res2;
 
 
    return 0;
}
1
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.09.2019, 16:47 5
Цитата Сообщение от vladiks1805 Посмотреть сообщение
r должен наследоваться от класса circle
Он и наследуется, вот только у тебя он никак не проинициализирован, ни по дефолту, ни вручную.
А использование не инициализированных переменных UB.
1
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 64
06.09.2019, 16:48  [ТС] 6
спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2019, 16:48

Имя Пользователя Почему-то Подставляется Как Интернет-адрес
Добрый день! В гугле никак не могу найти похожую ситуацию, может кто-то из вас с таким встречался....

Не подставляется значение из справочника
Всем привет. Столкнулся с такой бедой. Управляемые формы... во всех документах базы ни с того ни с...

Треугольник задан координатами своих вершин. Составить программу вычисления его площади. Почему-то считает неправильно
Задачу нужно решить с помощью функций.Почему-то все время вместо площади выбивает 0. #include...

Найти максимальное значение радиуса шара r и соответствующие значения радиуса основания r3 и высоты h шарового сектора
Здравствуйте))))) помогите пожалуйста!!!! надежда только на вас! не могу сделать математическую...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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