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

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

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

совмещение ооп и фп в одной программе - C++

06.10.2011, 05:41. Просмотров 572. Ответов 9
Метки нет (Все метки)

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

мне объяснили это так.

Add(a,b)
float
complex

num
float num
void numAdd

complex Num
float im
num Add

как это сделать я не знаю, помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2011, 05:41     совмещение ооп и фп в одной программе
Посмотрите здесь:

Несколько функций в одной программе - C++
Проблема такая. Пишу программу, хочу, чтобы при выборе определенного номера (задания) программа переходила к этому заданию. Напечатал на...

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

две функции в одной программе - C++
Добрый день. Есть проблема. Нужна помощь. Изучая с++ по самоучителю. Там указанны были две программы. Первая программа — запрашивает...

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

Сортировки: пять методов на выбор в одной программе - C++
Помогите написать програмку которая сортирует пьятьма методами на выбор 1) вставками 2) выбором 3) обменом (пузырьком) 4)быстрая...

Объединять классы и внешние функции в одной программе плохой тон программирования? - C++
Доброго времени суток! Преподаватель в институте задал определённую задачу, однако не определил разрешённые возможности. Сказал только -...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.10.2011, 05:51     совмещение ооп и фп в одной программе #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
#include <iostream>
 
void f(const char* i)
{
    std::cout << "f(const char*) called\n";
}
 
void f(int i)
{
    std::cout << "f(int) called\n";
}
 
void f(float i)
{
    std::cout << "f(float) called\n";
}
 
void f(double i)
{
    std::cout << "f(double) called\n";
}
 
int main()
{
    f(100.500);
    f("100500");
    f(100500);
    f(100.500f);
    return 0;
}
asdfghj
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 5
06.10.2011, 05:55  [ТС]     совмещение ооп и фп в одной программе #3
а это точно та программа (я не очень силен в программировании). просто не вижу комплексных чисел (и как-то маловато, задание на больше расписано )
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.10.2011, 05:57     совмещение ооп и фп в одной программе #4
asdfghj, с комплексными числами сами напишите, там все по аналогии, а эту программу я вам привел для примера
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.10.2011, 06:01     совмещение ооп и фп в одной программе #5
Цитата Сообщение от asdfghj Посмотреть сообщение
совмещение ооп и фп в одной программе
каким ты видишь ФП в С/С++? Поделись с нами. А то я, к примеру, слабо его себе представляю.


Цитата Сообщение от asdfghj Посмотреть сообщение
нужно не прибегая к классам сделать функции ...
Цитата Сообщение от asdfghj Посмотреть сообщение
использовать наследование
Использовать наследование, не прибегая к классам? Интересно.

Цитата Сообщение от asdfghj Посмотреть сообщение
в зависимости от типа числа чтобы выбирались разные методы.
это называется "перегрузка функций", и она в С++ таки есть.
Цитата Сообщение от asdfghj Посмотреть сообщение
Add(a,b)
float
complex
num
float num
void numAdd
complex Num
float im
num Add
что это?

Не по теме:

Кто придумывает такие идиотские задания (или формулировки)?

asdfghj
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 5
06.10.2011, 06:36  [ТС]     совмещение ооп и фп в одной программе #6
надо в одном примере сделать функции с одним названием, но разным исполнением в зависимости от числа.

во второй программе нужно использовать наследование и соответственно классы

Добавлено через 26 минут
эти две программы по идее и есть
Цитата Сообщение от Nameless One Посмотреть сообщение
ФП в С/С++
и ООП там же
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.10.2011, 06:43     совмещение ооп и фп в одной программе #7
Цитата Сообщение от asdfghj Посмотреть сообщение
ФП в С/С++
это не функциональное программирование, а процедурное.
asdfghj
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 5
06.10.2011, 07:40  [ТС]     совмещение ооп и фп в одной программе #8
Цитата Сообщение от Nameless One Посмотреть сообщение
это не функциональное программирование, а процедурное.
Цитата Сообщение от asdfghj Посмотреть сообщение
я не очень силен в программировании


задание дали такое...

Добавлено через 52 минуты
можете такие примеры написать?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.10.2011, 07:49     совмещение ооп и фп в одной программе #9
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream>
#include <cmath>
 
class complex
{
protected:
    double real;
 
private:
    double imag;        // производные классы не должны знать
                // о мнимой части
 
public:
    complex(double, double);
    complex(const complex&);
 
    complex operator + (const complex&) const;
 
    friend std::ostream& operator << (std::ostream&,
                      const complex&);
};
 
class floating: public complex
{
public:
    floating(double);
    floating(const floating&);
 
    floating operator + (const floating&) const;
 
    operator complex () const;
    
    friend std::ostream& operator << (std::ostream&,
                      const floating&);
};
 
complex operator + (const floating&, const complex&);
 
#define PRINT(EXP) std::cout << #EXP ": " << (EXP) << std::endl
 
int main()
{
    complex c1(2,3), c2(2, -3);
    floating f1(2), f2(-3);
 
    PRINT(c1);
    PRINT(c2);
    PRINT(f1);
    PRINT(f2);
    PRINT(c1 + c2);
    PRINT(f1 + f2);
 
    PRINT(f1 + c2);
    PRINT(c1 + f2);
    
    return 0;
}
 
complex::complex(double r, double i)
    : real(r), imag(i)
{
}
 
complex::complex(const complex& rhs)
    : real(rhs.real), imag(rhs.imag)
{
}
 
complex complex::operator + (const complex& rhs) const
{
    return complex(real + rhs.real, imag + rhs.imag);
}
 
std::ostream& operator << (std::ostream& os,
               const complex& rhs)
{
    bool minus = rhs.imag < 0;
 
    os << rhs.real;
 
    if(rhs.imag != 0)
    os << (minus ? " - " : " + ") << fabs(rhs.imag) << "i";
 
    return os;
}
 
floating::floating(double f)
    : complex(f, 0)
{
}
 
floating::floating(const floating& rhs)
    : complex(rhs.real, 0)
{
}
 
floating floating::operator + (const floating& rhs) const
{
    return floating(real + rhs.real);
}
 
floating::operator complex () const
{
    return complex(real, 0);
}
 
std::ostream& operator << (std::ostream& os,
               const floating& rhs)
{
    return (os << rhs.real);
}
 
complex operator + (const floating& f, const complex& c)
{
    return static_cast<const complex&>(f) + c;
}
Только на самом деле тут тоже происходит перегрузка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2011, 10:34     совмещение ооп и фп в одной программе
Еще ссылки по теме:

Функция cin.get(array, 80) работает в одной программе, но не работает в другой - C++
Добрый день. Я что то совсем запутался, одна и та же функция в одной программе работает, а в другой нет. В этой программе...

Совмещение текстов - C++
Здравствуйте, у меня есть класс строк и класс текст. надо 1 текст сложить с другим( в программе уже 1 текст имеется) программа...

Совмещение DAO и DataGrid - C++
Не получаеться совместить DAO и DataGrid .... Возникает недопустимая операция ( Фрагмент кода : CDaoRecordset* m_pRS; m_pRS =...

Совмещение union и class - C++
class A { public: A(){} }; class B { public: B(){}


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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.10.2011, 10:34     совмещение ооп и фп в одной программе #10
Цитата Сообщение от asdfghj Посмотреть сообщение
не прибегая к классам сделать функции
Цитата Сообщение от asdfghj Посмотреть сообщение
использовать наследование.
Что-что, простите?
Yandex
Объявления
07.10.2011, 10:34     совмещение ооп и фп в одной программе
Ответ Создать тему
Опции темы

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