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

Как лучше возвращать значение из операции-функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача.Игра в числа http://www.cyberforum.ru/cpp-beginners/thread392229.html
Вася очень любит играть в числа. Для этой игры нужна колода из N различных целых чисел от 1 до N. Эдик(который тоже очень любит эту игру) только что достал новую колоду. Вася с первого взгляда определил, что в колоде недостает одного числа. Зная N (количество чисел, которое должно быть в колоде) и S (сумму имеющихся чисел), помогите Васе определить, какого именно числа недостает. В первой...
C++ Иконка Всем привет !! ПОдскажите плизз как можно ехе файлу твоей программы можно задать иконку какую ты хочешь ? http://www.cyberforum.ru/cpp-beginners/thread392214.html
C++ периписать из Pascal в C++
перепишите пжлста 3 оч простыхпрограмки с паскаля на с++. сам в с++ вообще не разбираюсь, а по заданию требуют. тока перепишите алгоритм точь в точь как в паскале, если где то структура программы и кривая на ваш взгляд, оставьте как есть. 1я uses crt; var mas:array of integer; sum,i,n:integer; {i - index, n - kol-vo elementov} begin
C++ Рандом с исключением
Добрый день... подскажите пожалуйста..как сделать целочисленный рандом от 1 до N, но при этом чтобы в нём исключалось заданное число к примеру если заданное число = 3, а N = 9 то рандом должен проводится в диапазоне 1,2,4,5,6,7,8,9
C++ М-последовательности http://www.cyberforum.ru/cpp-beginners/thread392184.html
Доброе время суток! Подскажите пожалуйста кто может - как сформировать случайную последовательность нулей и единиц, с периодом , в которой 1023 символа. Заранее спасибо за внимание)
C++ Поиск и вывод слов начинающихся на 'l' {int i,j; char s,s1; cin.getline(s,255); for(i=0;i<255;i++) { if (s=='l') {j=i; while (s!=' ') {s1=s; i++; подробнее

Показать сообщение отдельно
frostua
0 / 0 / 0
Регистрация: 07.11.2011
Сообщений: 27
26.11.2011, 14:26     Как лучше возвращать значение из операции-функции
В следующем коде при перегрузке оператора '+' функция возвращает ссылку на временный объект
C++
1
Point&operator+(int d) и Point&operator+(int d,Point&Z)
но так же можно вернуть сам объект
C++
1
Point operator+(int d) и Point operator+(int d,Point&Z)
работает и так и так. Как лучше?
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
#include <iostream>
using namespace std;
 
// класс "точка"
class Point
{  
     // координаты точки
     int X;
     int Y;
 public:
 
     // конструктор
     Point(int iX,int iY){
         X=iX;
         Y=iY;
     }
 
     //показ на экран
     void Show(){
        cout<<"\n+++++++++++++++++++++\n";
        cout<<"X = "<<X<<"\tY = "<<Y;
        cout<<"\n+++++++++++++++++++++\n";
     }
 
     // перегруженный оператор +
     // метод класса для ситуации Point+int
     Point&operator+(int d){
         Point P(0,0);
         P.X=X+d;
         P.Y=Y+d;
         return P;
     }
     // функции доступа к 
     // privat-членам без них 
     // глобальная перегрузка невозможна
     int GetX() const{
         return X;
     }
     int GetY() const{
         return Y;
     }
     void SetX(int iX){
         X=iX;
     }
     void SetY(int iY){
         Y=iY;
     }  
};
 
 /*глобальная перегрузка
 для ситуации int + Point
 доступ к private-членам
 через специальные функции*/
Point&operator+(int d,Point&Z){
         Point P(0,0);
         P.SetX(d+Z.GetX());
         P.SetY(d+Z.GetY());
         return P;
}
 
void main() 
{ 
    // создание объекта
        Point A(3,2);
    A.Show();
 
    //оператор-метод +
    Point B=A+5;
    B.Show();
 
    //глобальный оператор 
    Point C=2+A;
    C.Show();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru