Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
1

return и дестуктор

31.07.2012, 00:14. Просмотров 796. Ответов 13
Метки нет (Все метки)

как передают значение объекта ,созданного в функции через return ?При return вызывается его деструктор и передать значение из функции уже не могу .Что нужно написать / перегрузить ,какие модификаторы для переменных функции и самой функции поставить ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2012, 00:14
Ответы с готовыми решениями:

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable {...

Что такое в jquery и java return false и return true
Если я правильно понимаю, то return false отменяет действие по умолчанию, например клик по ссылке,...

В чем разница между return и return false/true
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста...

Односвязный список - объясните, как работают return 0 и return 1
проверьте, пжлса, по комментариям правильно ли я поняла принцип работы программы. Объясните, как...

13
0 / 0 / 1
Регистрация: 30.07.2012
Сообщений: 8
31.07.2012, 00:17 2
может быть стоит объявить объект глобально, а в функции присвоить ему нужное значение?
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 00:18  [ТС] 3
неа ,перегружаю + .
0
бжни
2467 / 1676 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
31.07.2012, 00:20 4
Цитата Сообщение от lupus1libertas Посмотреть сообщение
как передают значение объекта ,созданного в функции через return ?При return вызывается его деструктор и передать значение из функции уже не могу .Что нужно написать / перегрузить ,какие модификаторы для переменных функции и самой функции поставить ?
напиши пример, чтоб не ломать голову
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 00:26  [ТС] 5
ну если поможет
не шаблон .

C++ (Qt)
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
T& operator + ( T& a , T& b)
{
    T c;
        c = a;
    if(a.ReturnSignum()!=b.ReturnSignum())
    {
        if(a.ReturnSignum())c = a - abs(b);
        else c = b-abs(a);
    }
    else
    {
        if(a.ReturnSignum())
        {
        PlsAming(a,b,c);
        PlsFractional(a,b,c);
        }
        else
        {
        c = -a + -b ;
        c=-c;
        }
    }
    //cout<<c.ToString()<<endl;
    
    return c;
}
Честно ,не разбираюсь во всём этом .Кабы разбирался , не спрашивал .
0
Каратель
Эксперт С++
6593 / 4014 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
31.07.2012, 00:27 6
возвращаешь ссылку на локальный объект

Цитата Сообщение от lupus1libertas Посмотреть сообщение
C++
1
T& operator + ( T& a , T& b)
C++
1
T operator + (const T& a , const T& b)
ну и соответсвенно все вызываемые методы должны быть константными
0
DU
1492 / 1138 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
31.07.2012, 00:28 7
нужно возвращать объект, а не ссылку на него. конечно в таком варианте будет разрушатся локальный объект.
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 00:34  [ТС] 8
чем поможет const для передаваемых параметров ?Насильно - специально внутри объекты не меняю .Любопытства ради .

Да ,мне нужно как-нибудь объект с ограниченной зоной видимости и временем жизни передать "вверх" .

Добавлено через 1 минуту
вариант с убрать амперсанд с возвращаемого типа не работает .
0
Каратель
Эксперт С++
6593 / 4014 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
31.07.2012, 00:36 9
Цитата Сообщение от lupus1libertas Посмотреть сообщение
не работает
а конкретнее
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 00:42  [ТС] 10
поля уничтожаются .

Добавлено через 3 минуты
может можно как-нибудь модифицировать запись объявления функции ,дабы я не мучался ? =)

На хабре подсмотрел передавать конструктор ,типа return T() ;
но не хочу это делать ,есть другие варианты?
0
Каратель
Эксперт С++
6593 / 4014 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
31.07.2012, 00:43 11
Цитата Сообщение от lupus1libertas Посмотреть сообщение
поля уничтожаются .
с такой конкретикой вам никто не поможет, экстрасенсов тут нет! выложите хоть какой-то пример кода
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 01:20  [ТС] 12
деструктор ---- мои поля .
Что вариант 1 ,что вариант 2 .На хабре подсмотрел передавать конструктор ,но с этим связываться не хочу .

Добавлено через 35 минут
Не актуально ,close() ;
0
842 / 773 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
31.07.2012, 09:53 13
Цитата Сообщение от lupus1libertas Посмотреть сообщение
вариант с убрать амперсанд с возвращаемого типа не работает .
Цитата Сообщение от lupus1libertas Посмотреть сообщение
поля уничтожаются .
В классе T у тебя, скорее всего, не прописан конструктор копирования, который вызывается при передаче значения из функции. Напиши его таким, чтобы он копировал значения нужных тебе полей.
1
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
31.07.2012, 10:16  [ТС] 14
Да ,именно это и сделал .
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2012, 10:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

How can to return value (return value; ) of javascript function to ASP ?
How can to return value (return value; ) of javascript function to ASP ?

Как сделать так, что если файл существует return true, если нет - return false
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл...

Как происходит передача значения после return 0 и почему после return ставится 0
#include &lt;stdio.h&gt; int power(int m, int n); /* тест функции power */ main() { int i; ...

return *this;
return *this; Возвращает само себя?


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

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

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