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

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

Войти
Регистрация
Восстановить пароль
 
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
#1

Классы "Пара чисел" и "Прямоугольный треугольник" - C++

24.04.2014, 23:03. Просмотров 384. Ответов 3
Метки нет (Все метки)

Необходимо реализовать:
Базовый класс:
ПАРА_ЧИСЕЛ (PAIR)
Первое_число (first) - int
Второе_число (second) – int
Определить методы изменения полей и вычисления произведения чисел.
Создать производный класс ПРЯМОУГОЛЬНЫЙ_ТРЕУГОЛЬНИК
(RIGHTANGLED), с полями-катетами. Определить метод вычисления гипотенузы

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
#include <iostream>
 
using namespace std;
class PAIR{
public:
    int a,b;
public:
    PAIR(){};
    PAIR (int x1, int x2)
    {a=x1;b=x2;}
    ~PAIR (){};
void Vvod()
{cout<<"Vvedite pervii katet: ";cin>>a;
cout<<"Vvedite vtoroi katet: ";cin>>b;
};};
class RIGHTANGLED:public PAIR
{int c;
public:
RIGHTANGLED () {};
RIGHTANGLED(int x1, int x2)
    {a=x1;b=x2;};
~RIGHTANGLED(){};
int Gipotenyza()
{
    return c=sqrt(a*a+b*b);
};
void Vivod()
{cout<<"\nZnachenie gipotenyzi="<<c<<endl;
}};
int main()
{   RIGHTANGLED X1;
RIGHTANGLED X2(5,6);
X1.Vvod();
X2.Vivod();
X1.Vivod();
    system("pause");return 0;}
Проблема в том, что вместо ответа мне выводит :Znachenie gipotenyzi=-85993460. Помогите исправить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 23:03     Классы "Пара чисел" и "Прямоугольный треугольник"
Посмотрите здесь:

Классы "Пара чисел" и "Прямоугольный треугольник" - C++
Помогите исправить прогу: #include&lt;iostream&gt; #include&lt;iomanip&gt; using namespace std; class ABSTR{ public: virtual void Abstr...

Базовый класс "многоугольник" и производные классы "треугольник" и "прямоугольник" - C++
Не могу понять как реализовать данное задание. Создать 1 базовый класс и несколько производных.Все небольшие ф-ии сделать встроенными...

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат" - C++
Реализовать класс Графический объект от которого будут наследоваться классы &quot;круг&quot; и &quot;квадрат&quot;. Собственно, сам код, который был написан...

Базовый класс "Источник напряжения", производные классы "Цепь" и "Аккумулятор" - C++
Дали задачу по программированию: составить класс &quot;Источник напряжения&quot;, для которого нужно реализовать два производных класса: &quot;Цепь&quot; и...

Выяснить, имеется ли пара соседствующих символов ",-" "-," (запятая, тире) в тексте - C++
#include &lt;iostream.h&gt; //Уважаемые программисты помогите переделать эту //Вот задание (Выяснить, имеется ли пара соседствующих символов...

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
24.04.2014, 23:58     Классы "Пара чисел" и "Прямоугольный треугольник" #2
При вызове метода Vivod Вы просто выводите мусор, который хранится в переменной с. Чтобы было что-то осмысленное, нужно выводить результат метода gipotenysa.

И лучше не называйте методы/переменные/еще что-нибудь транслитом. По-английски намного лучше.
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
25.04.2014, 00:03  [ТС]     Классы "Пара чисел" и "Прямоугольный треугольник" #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
#include <iostream>
 
using namespace std;
class PAIR{
public:
    int a,b;
public:
    PAIR(){};
        ~PAIR (){};
void Vvod()
{cout<<"Vvedite pervii katet: ";cin>>a;
cout<<"Vvedite vtoroi katet: ";cin>>b;
};};
class RIGHTANGLED:public PAIR
{
    double c;
public:
    RIGHTANGLED () {};
RIGHTANGLED(int y1, int y2)
    {       a=y1;b=y2;};
~RIGHTANGLED(){};
int Gipotenyza()
{
     c=sqrt(a*a+b*b);
         return c;
 
};
void Vivod()
{cout<<"\nZnachenie gipotenyzi="<<c<<endl;
}};
int main()
{   RIGHTANGLED X1;
RIGHTANGLED X2(4,3);
X2.Gipotenyza();
X1.Vvod();
X1.Gipotenyza();
X1.Vivod();
X2.Vivod();
    system("pause");return 0;}
Возник вопрос: можно ли через производный класс как-то обратиться к конструктору базового класса?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2014, 00:25     Классы "Пара чисел" и "Прямоугольный треугольник"
Еще ссылки по теме:

Создать абстрактный класс "Треугольник" и производный - "Равнобедренный треугольник" - C++
Задание Создать абстрактный класс треугольник. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода...

Заполнить структуры "Прямоугольник" и "Треугольник" и найти площади и периметры фигур - C++
Доброго времени суток! Начали изучать структуры, сижу над задачкой, да вот не идет она у меня. Нужно создать две структуры : -...

Классы "Студент" ,"Группа" - не работает метод ввода и вывода - C++
Тема: Классы языка С ++: группа и студент Задание 1. Создайте класс «Группа». - Данные класса - номер группы, специальность,...

Наследование: "БГТУ", "Факультет", "Группа", "Подгруппа" - C++
Определить иерархию классов (в соответствии с вариантом – выделить базовый и производные). Реализовать классы (самостоятельно задать...


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

Или воспользуйтесь поиском по форуму:
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
25.04.2014, 00:25     Классы "Пара чисел" и "Прямоугольный треугольник" #4
Вообще конструктор производного класса должен вызвать конструктор базового класса. Если этого не происходит, то для базового класса используеттся конструктор по умолчанию.
Yandex
Объявления
25.04.2014, 00:25     Классы "Пара чисел" и "Прямоугольный треугольник"
Ответ Создать тему
Опции темы

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