Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 21.10.2014
Сообщений: 92
1

Наследование и виртуальные функции

16.12.2015, 09:15. Показов 625. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здарова. Есть пару косяков в коде, но я их не могу найти. Быть может вы найдёте их?
Вот код:
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
/*Разработайте и реализуйте абстрактный тип данных для представления треугольника. 
Данные этого типа должны включать в себя стороны треугольника, а также величины его углов. 
Эти данные должны быть описаны в закрытом разделе класса, реализующего этот абстрактный тип. 
Предусмотрите операцию инициализации по усмотрению клиента. Эту операцию нужно реализовать в виде конструкторов класса.
 
Абстрактный тип должен предусматривать также операции определения, является ли треугольник прямоугольным, равносторонним или 
равнобедренным, а также может ли существовать такой треугольник. Треугольник существует, если сумма величин его углов равна 
180 градусов, а также должно выполняться условие (a+b>=c) и (a+c>=b) и (b+c>=a).*/
#include <iostream>
#include <conio.h>
using namespace std;
class Tr
{private:
    int vel[3], st[3];
    virtual void set (int st[3], int vel[3])
    {int n;
     cout<<"Вы уверены что хотите проинициализировать переменные?";
     cin>>n;
     if (n==0) return;
     for (int i=0; i<3; i++)
        {cout<<"Введите номер "<<i+1 <" стороны треугольника: ";
         cin>>st[i];
         cout<<"Введите величину угла "<<i+1 <<" стороны треугольника: ";
         cin>>vel[i];
        }
    }
    virtual void prov (int st[3], int vel[3])
    {if (vel[0]+vel[1]+vel[2]==180) 
     {if ((vel[0]+vel[1]>=vel[2]) && (vel[0]+vel[2]>=vel[1]) && (vel[1]+vel[2]>=vel[0]))
     cout<<"Такой треугольник существует.";
     else cout<<"Такой треугольник не существует.";}
     if (vel[0]==vel[1]==vel[2]) cout<<"Треугольник равносторонний.";
     if (vel[0]==vel[1]==vel[2]) cout<<"Треугольник равнобедренный.";
     if (vel[0]==90||vel[1]==90||vel[2]==90) cout<<"Треугольник прямоугольный.";
    }
};
class Tr1: private Tr
{int vel[3], st[3];
 virtual void prov (int st[3], int vel[3])=0;
};
int main()
{Tr1 *cl;
int st[3], vel[3];
setlocale(LC_ALL, "rus");
cl->set(&st[3], &vel[3]);
cl->prov(&st[3], &vel[3]);
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2015, 09:15
Ответы с готовыми решениями:

Наследование. Виртуальные функции
Всем привет. Недавно изучил раздел , который в названии. Вы могли бы дать задачку по выше указанной...

Наследование и виртуальные функции
Доброго времени суток, нужна ваша помощь в создании программы &quot;Написать программу, в которой...

Виртуальные функции и наследование
в общем есть исходный класс shape- фигура в которой определены 2 виртуальные функции инициализации...

Наследование и виртуальные функции
Доброго времени суток. Есть два вопроса: 1) Подскажите, плиз, что делаю не так. Есть базовый...

1
Неэпический
18106 / 10693 / 2062
Регистрация: 27.09.2012
Сообщений: 26,918
Записей в блоге: 1
16.12.2015, 09:24 2
Цитата Сообщение от MODifikator Посмотреть сообщение
Есть пару косяков в коде
Для начала оповестите окружающих где, в чем и когда всё это выражается, компилировать, запускать и лопатить весь Ваш код никому не интересно.
А если учесть ужасное форматирование, то и лишний раз смотреть на него - тоже. Заработаешь себе пучеглазие.

Добавлено через 3 минуты
1) Всё в private
2) Что это за &st[3] фиговина?
3) cl куда "указывает"? Правильно. В хаос!
0
16.12.2015, 09:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2015, 09:24
Помогаю со студенческими работами здесь

Наследование и виртуальные функции
Здравствуйте! помогите дописать программу, в которой создается иерархия классов. Включить ...

Наследование и виртуальные функции
⦁ Определить иерархию классов (в соответствии с вариантом). ⦁ Определить в классе...

Наследование и виртуальные функции
Всем привет. Может кто, пожалуйста, объяснить одну строчку из задания? Не понимаю, что именно нужно...

Наследование и виртуальные функции
Скажите, часто ли вы при проектирование реальных программ используете наследование?

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

Наследование и виртуальные функции
Получить практические навыки создания иерархии классов и использования статических компонентов...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru