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

Перегрузка бинарного оператора + - C++

Восстановить пароль Регистрация
 
Тангенс
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 121
22.06.2014, 11:47     Перегрузка бинарного оператора + #1
Выдает ошибку:
Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 Main\Debug\Main.exe 1
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "class Class __cdecl operator+(class Class &,class Class &)" (??H@YA?AVClass@@AAV0@0@Z) в функции _main Main\Main\Main.obj

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
#include <iostream>
using namespace std;
 
class Class{
public:
    int x;
public:
    Class(void);
 
    void setX(int);
 
    Class friend operator+(Class&, Class&);
    friend ostream& operator<<(ostream&, Class&);
    
    ~Class(void);
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "Class.h"
 
Class::Class(void){}
 
Class operator+(const Class& c1, const Class& c2){
    Class a;
    a.x = c1.x + c2.x;
    return a;
}
 
void Class::setX(int _x){
    x = _x;
}
 
ostream& operator<<(ostream& o, Class& c){
    o<<"Сумма"<<c.x<<endl;
    return o;
}
 
Class::~Class(void){}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include "Class.h"
#include <conio.h>
 
using namespace std;
 
void main(){
 
    Class c1;
    Class c2;
    Class c3;
 
    c1.setX(2);
    c2.setX(2);
    c3.setX(0);
 
    c3 = c1+c2;
 
    cout<<c3;
 
    _getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 11:47     Перегрузка бинарного оператора +
Посмотрите здесь:

C++ Перегрузка бинарного оператора
Перегрузка бинарного оператора << в template классе C++
C++ Перегрузка оператора %
Перегрузка бинарного плюса C++
Переопределение БИНАРНОГО оператора внутри класса C++
Перегрузка бинарного оператора + C++
Перегрузка оператора = C++
C++ Перегрузка оператора <<

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.06.2014, 11:50     Перегрузка бинарного оператора + #2
В объявлении потеряли const у аргументов.
ЗЫ friend после возвращаемого значения нормально парсится?
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
22.06.2014, 11:52     Перегрузка бинарного оператора + #3
Цитата Сообщение от Тангенс Посмотреть сообщение
Class friend operator+(Class&, Class&);
Цитата Сообщение от Тангенс Посмотреть сообщение
Class operator+(const Class& c1, const Class& c2)
они не должны отличатся

Добавлено через 50 секунд

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
Ы friend после возвращаемого значения нормально парсится?
в VS2012 да.

Yandex
Объявления
22.06.2014, 11:52     Перегрузка бинарного оператора +
Ответ Создать тему
Опции темы

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