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

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

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

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

24.04.2014, 23:03. Просмотров 374. Ответов 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++ "НОК трех чисел" и "Площадь треугольника"
C++ Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседных" чисел
C++ "Классы и объекты" -"операторы"
C++ Классы: ка победить ошибку из "const Type" в "Type &"
C++ Создать класс "пара целых чисел". Определить конструкторы, деструктор, функции доступа к полям
Классы "Пара чисел" и "Прямоугольный треугольник" C++
Классы "Пара чисел" и "Прямоугольный треугольник" C++
"Красный Тигр" vs. "Желтый Заяц". А каким будет 3005 год? C++
C++ Классы "Небесное тело" и "Планета"
C++ Классы "Бинарное дерево" и "Узел" в одном приложении
C++ Класс "Пара чисел" с перегруженными операциями сложения и умножения
C++ Определить, присутствует ли в последовательности хотя бы одна пара одинаковых "соседних" чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_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;}
Возник вопрос: можно ли через производный класс как-то обратиться к конструктору базового класса?
_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