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

Как вернуть из функции два значения?

30.06.2017, 00:11. Показов 4518. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите,как вернуть из ф-ции 2 значения .Вроде ,как то можно с помощью pair ,но как здесь это применить?Заранее спасибо
Source.cpp
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
#include <iostream>
#include"Dropi.h"
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    ui a, b;
    cout << "Введите числитель" << endl;
    cin >> a;
    cout << "Введите знаменатель" << endl;
    cin >> b;
    Dropi dropi;
    dropi.set_numerator_and_denominator(a, b);
    Dropi dropi2;
    cout << "Введите числитель второй дроби" << endl;
    cin >> a;
    cout << "Введите знаменатель второй дроби" << endl;
    cin >> b;
    dropi2.set_numerator_and_denominator(a, b);
    Dropi dropi3;
    dropi3=dropi + dropi2;
    dropi3.show();
 
    cout << endl;
    system("pause");
    return 0;
}

Dropi.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
typedef unsigned int ui;
 
class Dropi
{
private:
    
        ui numerator_;
        ui denominator_;
    
public:
    Dropi();
    void set_numerator_and_denominator(ui, ui);
    Dropi& operator+(const Dropi &b);
    void show();
    
    ~Dropi();
};

Dropi.cpp
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
#include "Dropi.h"
#include <iostream>
 
using namespace std;
 
Dropi::Dropi()
{
}
void Dropi::set_numerator_and_denominator(ui a, ui b)
{
    numerator_ = a;
    denominator_ = b;
}
Dropi& Dropi::operator+(const Dropi&r)
{
    Dropi rezalt_nemer;
    Dropi rezalt_deter;
    rezalt_nemer.numerator_ = numerator_ + r.numerator_;
    rezalt_deter.denominator_ = denominator_ + r.denominator_;
    return rezalt_nemer, rezalt_deter;//Как вернуть 2 значения?
    
}
 
 
void Dropi::show()
{
 
    cout << "Ваша дробь:" << endl;
    cout << numerator_ << '/' << denominator_ << endl;
 
}
Dropi::~Dropi()
{
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.06.2017, 00:11
Ответы с готовыми решениями:

Как вернуть из функции два значения
Доброго времени суток! Подскажите, пожалуйста, как вернуть два значения: row и column из функции. Спасибо! void ReadM(long double **mat,...

Вернуть из функции два значения
функция должна находить максимальное и минимальное значение используя классы template &lt;class T&gt; T max_elem( T array,int n) //T...

Как вернуть два значения из функции?
Ребят, нужно вернуть из функции два значения. Подскажите как. Без массива public double Diaginals() { ...

4
Велосипедист...
 Аватар для Mournful Max
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
30.06.2017, 01:13
Вы точно хотите вернуть два объекта? Или, все же, вернуть один объект с новыми значениями numerator_ и denominator_?
1
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
30.06.2017, 01:33
Лучший ответ Сообщение было отмечено Andker как решение

Решение

C++
1
2
3
4
5
6
7
    Dropi Dropi::operator+(const Dropi&r)
    {
        Dropi obj;
        obj.numerator_ = numerator_ + r.numerator_;
        obj.denominator_ = denominator_ + r.denominator_;
        return obj;
    }
1
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 4
30.06.2017, 01:34  [ТС]
Ой,всё,сглупил.Один объект с новыми значениями хотел.Спасибл)
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
30.06.2017, 01:37
У вас код
C++
1
2
    Dropi dropi3;
    dropi3=dropi + dropi2;
потому результирующее значение у вас всего одно единственное - dropi3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2017, 01:37
Помогаю со студенческими работами здесь

Как вернуть два значения из метода?
Как вернуть два значения из метода? При таком коде выдаёт предупреждение cs0162. public static double Rasstoyanie(double x, double y) ...

Как вернуть два значения через return?
Вот пример. Мне нужно с помощью функции zero записать в х0=0 , а в х1=1. вооооот, вообщем я хз как это сделать . грубо говоря нужно...

Как вернуть 2 значения из функции?
Добрый день. У меня такой вопрос - как в этой проге можно вернуть 2 значения из функции? #include &lt;stdio.h&gt; #include...

Как вернуть сразу 2 значения из функции?
Есть функция, которая генерирует 2 параметра. Как сделать так, чтобы функция их вернула? Оба сразу?

Как можно вернуть из функции более 1 значения?
Matlab. Как можно вернуть из функции более 1 значения? Может как-нибудь типа указателя как это делается в си? Так можно?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru