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

Функция оператор+ в классах - C++

Восстановить пароль Регистрация
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
27.01.2014, 21:54     Функция оператор+ в классах #1
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
#include <iostream>
using namespace std;
class Operator
{
    private:
    int x;
    public:
    void SetX(int g);
    int GetX();
    Operator(int a);
    Operator operator+(Operator x1);
};
Operator Operator::operator+(Operator x2)
{
    Operator x3;
    x3.x = x + x2.x;
    return x3;
}
 
 
int Operator::GetX()
{
    return x;
}
 
int main()
{
    Operator y1(5);
    Operator y2(7);
    cout << y1 + y2 << endl;
    
    system("pause");
    return ;
}
Я не могу найти ошибку, как можно сделать так, чтобы я получил сумму 5 и 7?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 21:54     Функция оператор+ в классах
Посмотрите здесь:

Наследование в классах C++
C++ Функция и оператор new
программа в классах C++
C++ Исключения в классах
константы в классах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
28.01.2014, 03:10     Функция оператор+ в классах #2
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
#include <iostream>
using namespace std;
class Op
{      
    public:
        int x;
        Op();
        Op(int);
        Op operator+(Op);
};
 
Op::Op()
{
}
 
Op::Op(int a)
{
    x = a;
}
 
Op Op::operator+(Op x2)
{
    Op x3;
    x3.x = x + x2.x;
    return (x3);
}
 
int main()
{
    Op y1(5);
    Op y2(7);
    Op answer;
    answer = y1 + y2;
    cout << answer.x << endl;
    
    system("pause");
    return 0;
}
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
28.01.2014, 09:59     Функция оператор+ в классах #3
Цитата Сообщение от bekabot Посмотреть сообщение
Я не могу найти ошибку, как можно сделать так, чтобы я получил сумму 5 и 7?
у вас private:int x;
а сам х в конструкторе не инициализируется, т.к. вы про него забыли и он генерируется по умолчанию.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.01.2014, 10:19     Функция оператор+ в классах #4
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Op Op::operator+(Op x2) // тут по ссылке лучше передавать
{
Op x3;
x3.x = x + x2.x;
return (x3);
}
C++
1
Op Op::operator+(Op &x2)
Yandex
Объявления
28.01.2014, 10:19     Функция оператор+ в классах
Ответ Создать тему
Опции темы

Текущее время: 19:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru