Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Использование виртуальных функций - C++

25.05.2012, 20:23. Просмотров 622. Ответов 2
Метки нет (Все метки)

Дан класс "треугольник", который определяется длиной одной из сторон и значениями
прилегающих двух углов. Создать соответствующие методы:
 задания значения длины стороны и двух углов;
 нахождения других характеристик треугольника: величины углов и длин сторон;
 вычисления периметра.
 вывода параметров треугольника (виртуальный метод)
Создать производный класс "равносторонний треугольник". Создать объекты классов "треугольник"
и "равносторонний треугольник". Найти другие характеристики созданных треугольников и их
периметры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 20:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование виртуальных функций (C++):

Использование виртуальных функций - C++
Программа берет данные из двух файлов, в которых есть дата и количество проданных билетов, и высчитывает среднее количество проданных...

Использование свойства полиморфизма и исследование механизма виртуальных функций - C++
Создайте класс Matr, определите в нем виртуальную функцию-член matrica(int n), которая определяет произведение элементов квадратной...

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.

Вызов виртуальных функций - C++
Доброго времени суток, форумчане! Стоит такая задача: Есть класс, который содержит три чисто виртуальные функции, назовём его IClass. ...

Механизм виртуальных функций - C++
Всем привет! Имею базовый абстрактный класс: class Interface { public: //функция детектирования устройства true - если команда...

Перегрузка виртуальных функций - C++
please HELP! перегружаю виртуальную функцию в абстрактном классе. class ONE { virtual std::string FUN(const std::string&...

2
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
26.05.2012, 20:59 #2
Вот так, например:
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
#include <iostream>
#include <math.h>
using namespace std;
 
class Triangle
{
public:
    Triangle(float side = 0.0, float b = 0.0,
             float c = 0.0):
        sideA(side), angleB(b), angleC(c) { }
    void setSide(float s) { sideA = s; }
    void setAngleB(float b) { angleB = b; }
    void setAngleC(float c) { angleC = c; }
    float perimetr();
    float angleA();
    float sideB();
    float sideC();
    virtual void printParams();
 
protected:
    float sideA;
    float angleB;
    float angleC;
};
 
class EquilateralTriangle : public Triangle {
public:
    EquilateralTriangle(float side = 0.0, float b = 0.0,
                        float c = 0.0): Triangle(side, b, c) { }
    virtual void printParams();
};
 
int main()
{
    Triangle tr(23, 60, 45);
    EquilateralTriangle eqtr(4, 60, 60);
    tr.printParams();
    cout << endl;
    eqtr.printParams();
 
    return 0;
}
 
float Triangle::angleA()
{
    return (180.0 - (angleB + angleC));
}
 
float Triangle::sideB()
{
    return (sideA*sin(angleB*3.14/180))/sin(angleA()*3.14/180);
}
 
float Triangle::sideC()
{
    return (sideA*sin(angleC*3.14/180))/sin(angleA()*3.14/180);
}
 
float Triangle::perimetr()
{
    return sideA + sideB() + sideC();
}
 
void Triangle::printParams()
{
    cout << "Triangle:" << endl
         << "Sides: A = " << sideA << ", B = "
         << sideB() << ", C = " << sideC() << endl
         << "Angles: A = " << angleA() << ", B = "
         << angleB << ", C = " << angleC << endl
         << "Perimetr = " << perimetr() << endl;
}
 
void EquilateralTriangle::printParams()
{
    cout << "Equilateral Triangle:" << endl
         << "Side = " << sideA << endl
         << "Perimetr = " << perimetr() << endl;
}
1
urbinol
0 / 0 / 0
Регистрация: 16.06.2011
Сообщений: 151
06.06.2012, 10:46  [ТС] #3
а как ее запустить?у меня не запускается(
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2012, 10:46
Привет! Вот еще темы с ответами:

Таблица виртуальных функций - C++
объясните плиз кто разбирается.. есть абстрактный класс с двумя виртуальными функциями, от него наследуются два класса реализующие эти...

Таблица виртуальных функций - C++
Доброго дня! Не могу найти, подскажите, пожалуйста, таблица виртуальных функций же только одна для класса? И каждый его объект имеет...

ООП перезагрузка виртуальных функций - C++
Помогите, пожалуйста. Задание: &quot;Создать абстрактный базовый класс Матрица с виртуальной функцией поиска максимального значения в массиве....

Практическое применение виртуальных функций - C++
Собственно препод задал вопрос, рассказал ему все про механическую сторону вопроса, мол что такое, како й принцип, а на вопрос в теме...


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

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

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