С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 5

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

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

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

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

Add(a,b)
float
complex

num
float num
void numAdd

complex Num
float im
num Add

как это сделать я не знаю, помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2011, 05:41
Ответы с готовыми решениями:

Совмещение питания 3.3В и 5В на одной плате
Всех приветствую! Имеется плата с атмегой и переферейным обвесом, работает все этой счастье на 3.3В А программатор прошивает только на...

написать коментарии к программе и исправить ошибку в одной программе
и впрграмме mass нужно найти ошибку

Нужны советы по программе (ООП)
Хочу разобраться, потому настоятельно прошу помочь консультациями а не полным решением задачи, поскольку хочу понять все сам и написать ее....

9
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.10.2011, 05:51
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;
}
1
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 5
06.10.2011, 05:55  [ТС]
а это точно та программа (я не очень силен в программировании). просто не вижу комплексных чисел (и как-то маловато, задание на больше расписано )
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.10.2011, 05:57
asdfghj, с комплексными числами сами напишите, там все по аналогии, а эту программу я вам привел для примера
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.10.2011, 06:01
Цитата Сообщение от asdfghj Посмотреть сообщение
совмещение ооп и фп в одной программе
каким ты видишь ФП в С/С++? Поделись с нами. А то я, к примеру, слабо его себе представляю.


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

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

Не по теме:

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

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

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

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


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

Добавлено через 52 минуты
можете такие примеры написать?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.10.2011, 07:49
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;
}
Только на самом деле тут тоже происходит перегрузка
1
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
07.10.2011, 10:34
Цитата Сообщение от asdfghj Посмотреть сообщение
не прибегая к классам сделать функции
Цитата Сообщение от asdfghj Посмотреть сообщение
использовать наследование.
Что-что, простите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2011, 10:34
Помогаю со студенческими работами здесь

Перенос значений из одной формы в другую, соблюдая принципы ООП
Здравствуйте. В первой форме есть компонент zedGraphControl и кнопка для редактирования осей. При нажатии на кнопку открывается вторая...

2 потока в одной программе
На форме есть 2 кнопки, и каждая из них должна работать в разных потоках, подскажите как реализовать. Я не очень в потоках разбираюсь, одна...

Многопоточность в программе на одной форме.
Привет. Пишу огромную программу. Слышал о таком классе как TThread. Но вот вопрос: 1. Будут ли потоки работать на разных формах? 2....

Клиент и сервер в одной программе
Здравствуйте. Вот код: #include &lt;sys/types.h&gt; #include &lt;sys/socket.h&gt; #include &lt;netinet/in.h&gt; #include &lt;unistd.h&gt; #include...

Как прописать 12 if-ов в одной программе ?
Всем привет!) Знаю что if это зло, но другого пути у меня нет. Задача состоит в том что бы когда я ввожу дату рождения (например 21.06)...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru