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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
#1

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

27.01.2014, 21:54. Просмотров 458. Ответов 3
Метки нет (Все метки)

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++
На примере покажу, что я имею ввиду. Есть три класса: А, В и С. Функция show одинаковая. Допустим, функция большая и классов куда...

Функция и оператор new - C++
Как сделать так чтоб все созданное через new в функциях(функциях классов,шаблонов) оставалось в памяти? Например я создал так шаблон ...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе - C++
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих имен встречаются во всех классах, какие...

Классы, дружественная функция, оператор ввода - C++
замучался уже не понимаю как написать прогу. Описать дружественную функцию для подсчета общей стоимости всех товаров. В программе...

Дружественная функция-оператор, доступ к закрытым полям класса - C++
У меня есть класс MyClass, вот код: class MyClass { int x, y; public: MyClass(); friend ostream &amp; operator &lt;&lt; (ostream &amp;,...

Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 - C++
В С++ я ноль, помогите пожалуйста написать прогу Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
28.01.2014, 09:59 #3
Цитата Сообщение от bekabot Посмотреть сообщение
Я не могу найти ошибку, как можно сделать так, чтобы я получил сумму 5 и 7?
у вас private:int x;
а сам х в конструкторе не инициализируется, т.к. вы про него забыли и он генерируется по умолчанию.
aLarman
642 / 563 / 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)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 10:19
Привет! Вот еще темы с ответами:

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки - C++
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые трудности. Будьте добры, помогите решить. Буду...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости - C++
для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это оператор расширения области видимости.

Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->? - C++
#include &lt;iostream&gt; using namespace std; class random { public: void Set(int b){a=b;} int Get(){return a;} private: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2014, 10:19
Ответ Создать тему
Опции темы

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