Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Возврат нескольких значений из функции dev C++
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Steward Steward вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.06.2018
Exclamation Возврат нескольких значений из функции dev C++ - 26.08.2018, 10:27

Я создал указатель на объект класса SimpleObject, выделил ему память и, вызывая методы упомянутого класса, заставил установить значения свойств объекта этого класса, затем вывел эти значения на экран и в конце концов удалил объект. Все прекрасно работает.
cpp Код:
#include <iostream>
using namespace std;

class SimpleObject
{
    private:
        int propX; // свойство X
        int propY; // свойство Y
    public:
        ~SimpleObject() // деструктор
        {
            cout << "Object has been deleted!" << endl;
        }
        void setProps(int x, int y) // метод устанавливающий значения свойств X и Y
        {
            this->propX = x;
            this->propY = y;
        }
        void getProps() // метод выводящий последние
        {
            cout << this->propX << endl << this->propY << endl;
        }
};

int main(int argc, char** argv)
{
    SimpleObject* obj = new SimpleObject(); // создаю указатель на объект класса SimpleObject
    obj->setProps(2, 5); // устанавливаю значения свойств
    obj->getProps(); // вывожу последние
    delete obj; // удаляю объект
    system ("pause");
    return 0;
}
Но почему я не могу вместо вывода свойств методом getProps выводить их как возвращаемые значения метода getProps (Вернее могу, но возвращается только последнее значение по каким-то причинам)?

cpp Код:
#include <iostream>
using namespace std;

class SimpleObject
{
    private:
        int propX;
        int propY;
    public:
        ~SimpleObject()
        {
            cout << "Object has been deleted!" << endl;
        }
        void setProps(int x, int y)
        {
            this->propX = x;
            this->propY = y;
        }
        int getProps()
        {
            return this->propX, this->propY; // что-то в этой строчке не то
        }
};

int main(int argc, char** argv)
{
    SimpleObject* obj = new SimpleObject();
    obj->setProps(2, 5);
    cout << obj->getProps() << endl; // либо в этой
    delete obj;
    system ("pause");
    return 0;
}
Ответить с цитированием
  (#2 (permalink)) Старый
wanja wanja вне форума
Member
 
Сообщений: 583
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 08.05.2005
По умолчанию 26.08.2018, 15:14

Функция возвращает одно значение, возможно, составного типа: класса, структуры и т.д., но одно. А оператор ',' возвращает значение последнего операнда.
Так что лучше написать функции-члены getPropX и getPropY.
Ответить с цитированием
Пользователь сказал cпасибо:
Steward (27.08.2018)
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выключается комп из-за функции нескольких мониторов dumaka Техническая поддержка 6 23.04.2018 00:56
Проблемы с вводом предельных значений функции if ... Then SeTkca Visual Basic 0 01.11.2017 19:55
Разработать программу табулирования (вычисления таблицы значений) функции. Тараканище Вопросы начинающих программистов 0 30.10.2011 13:17
Вычислить и напечатать таблицы значений функции y= f(x) andreis459 Pascal 1 20.03.2011 00:10
Алгоритм для вычисления значений функции для нескольких значений аргумента в С++ imported_Гоша Вопросы начинающих программистов 3 07.12.2010 15:18
Как обрабатывать функции, возвращающие несколько значений Vladimir the Red Sunny Haskell 12 03.09.2010 13:38
Программа с использованием рекурсии вычисления значений функции Anti[B]iotik Prolog 2 11.02.2010 17:24
Составление таблицы значений функции на С++ God-of-Chaos Вопросы начинающих программистов 3 29.12.2007 17:37
Программа для вычисления значений функции Dyst Вопросы начинающих программистов 2 22.12.2006 14:28
Возврат из функции вектора строк sssr С/С++ 1 23.12.2004 12:13
Как сделать возврат значения в функции С Berk Вопросы начинающих программистов 11 15.10.2004 12:38
Сформировать массив значений комплексной функции на С++ samanta Вопросы начинающих программистов 1 25.09.2004 13:53



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов