Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052

Class & operator's |Error: undefined reference to operator

04.04.2017, 16:35. Показов 2288. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Компилирует нормально, но когда хочу использовать оператор выдает ошибку:undefined reference to 'operator..(Fraction const&,
Fraction const&)'

fraction.h
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
#ifndef FRACTION_H_INCLUDED
#define FRACTION_H_INCLUDED
#include <iostream>
using namespace std;
class Fraction {
private:
    long long x;
    unsigned short y;
public:
    Fraction() : x(0), y(0){};
    Fraction(long long _x, unsigned short _y): x(_x), y(_y){};
    friend ostream& operator<<(ostream& os, const Fraction &X);
    friend Fraction operator+(const Fraction &X, const Fraction &Y);
    friend Fraction operator-(const Fraction &X, const  Fraction &Y);
    friend Fraction operator*(const Fraction &X, const Fraction &Y);
    friend const bool operator>(const Fraction &X, const Fraction &Y);
    friend const bool operator<(const Fraction &X, const Fraction &Y);
    friend const bool operator>=(const Fraction &X, const Fraction &Y);
    friend const bool operator<=(const Fraction &X, const Fraction &Y);
    friend const bool operator==(const Fraction &X, const Fraction &Y);
    friend const bool operator!=(const Fraction &X, const Fraction &Y);
    ~Fraction() {};
};
#endif // FRACTION_H_INCLUDED
fraction.cpp
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
#include "fraction.h"
 
ostream& operator <<(ostream &os, const Fraction &X){
    os << X.x << "." << X.y;
    return os;
}
 
const bool operator ==(const Fraction &X, const Fraction &Y){
    if((X.x==Y.x) && (X.y==Y.y)) return true;
    else                     return false;
}
 
const bool operator !=(const Fraction &X, const Fraction &Y){
    return !(X == Y);
}
 
const bool operator <=(const Fraction &X, const Fraction &Y){
    if ((X.x <= Y.x) && (X.y <= Y.y)) return true;
    else                          return false;
}
 
const bool operator >=(const Fraction &X, const Fraction &Y){
    if ((X.x >= Y.x) && (X.y >= Y.y)) return true;
    else                          return false;
}
 
const bool operator <(const Fraction &X, const Fraction &Y){
    if ((X.x < Y.x) && (X.y < Y.y)) return true;
    else                        return false;
}
 
const bool operator >(const Fraction &X, const Fraction &Y){
    if ((X.x > Y.x) && (X.y > Y.y)) return true;
    else                        return false;
}
 
Fraction operator +(const Fraction &X, const Fraction &Y){
    return Fraction(X.x+Y.x, X.y+Y.y);
}
 
Fraction operator -(const Fraction &X, const Fraction &Y){
    return Fraction(X.x - Y.x, X.y - Y.y);
}
 
Fraction operator *(const Fraction &X, const Fraction &Y){
    return Fraction(X.x * Y.x, X.y * Y.y);
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include "fraction.h"
 
using namespace std;
 
int main(void)
{
    Fraction X(2, 23), Y(2, 22);
    cout << "a: " << X << "   b: " << Y << endl << endl;
    cout << "a + b = " << X+Y << endl;
    cout << "a - b = " << X-Y << endl;
    cout << "a * b = " << X*Y << endl;
 
    if(X < Y) cout << "a < b" << endl;
    else      cout << "a > b" << endl;
 
    if(X == Y) cout << "a == b" << endl;
    else       cout << "a != b" << endl;
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2017, 16:35
Ответы с готовыми решениями:

Ошибка undefined reference to `operator<<(std::ostream&, Account)'
Всем здравствуйте! На днях столкнулся с ошибкой, с которой еще не раз не сталкивался, и не знаю как ее исправить. Ошибка выглядит так: ...

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р. Девис 4-е издание. И напоролся на кучу ошибок) Но смог все...

Ошибка [Linker error] undefined reference to `Triangulation::distPoints(tagPOINT&, tagPOINT&)'
Добрый день, уважаемые форумчане есть функция которая считает площадь треугольника double Triangulation::squareTriang(POINT &amp;t1,...

2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
04.04.2017, 16:47
Всё работает.
Хочу отметить, что const квалификатор у возвращаемого типа просто игнорируется, так что уберите его.
1
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
04.04.2017, 16:52  [ТС]
MrGluck, перезапустил CodeBlock, всё работает. Ладно, спасибо, что время уделили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2017, 16:52
Помогаю со студенческими работами здесь

Перегрузка бинарного -, ошибка: undefined reference to operator -(.)
Никак не могу понять, в чём же ошибка Вот класс: class tDoubleString { public: char* str; size_t number_symvols; ...

Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)')
Компилирую test: g++ test.cpp -L. -lwrk -lboost_serialization -o programwrk -std=c++0x Так же компилирую libwrk до компиляции...

[Linker error] undefined reference to
#include&lt;string.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include &lt;math.h&gt; #include&lt;fstream&gt; ...

Error undefined reference to `GetStockObject@4
Какую ему надо либу?

[Linker error] undefined reference to 'r'
Помогите решить вышеописанную проблему, на переменную s так же ругаеться! #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...


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

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

Новые блоги и статьи
Тестирование Pull Request в Kubernetes с vCluster
Mr. Docker 19.07.2025
Часто сталкиваюсь с серьезной дилемой при настройке тестовых окружений для проверки Pull Request в Kubernetes. С одной стороны, каждый PR требует изолированной среды — только так можно гарантировать,. . .
Мой 7 минутный ролик с крамольным предложением про шахматы, предлагаю заценить
_Ivana 18.07.2025
p2UhJNMGY94
Десять Middleware Node.js для эффективного кодинга
Reangularity 18.07.2025
Когда я только начинал работать с Node. js, количество пакетов в npm меня буквально парализовало. Сегодня их больше 1,3 миллиона — попробуй разберись, что стоит твоего внимания, а что нет. Я потратил. . .
Context и глубины Android
mobDevWorks 18.07.2025
В Android разработки Context напоминает воздух - он везде, жизненно необходим, но мало кто может детально объяснить его природу. Мы привыкли получать его как параметр, передавать дальше и. . .
Результаты исследования от команды MCM (июль 2025 г.)
Programma_Boinc 18.07.2025
Результаты исследования от команды MCM (июль 2025 г. ) Как сообщалось в наших предыдущих публикациях, мы изучаем гены, которые имеют наибольший рейтинг и ассоциируются с различными видами рака, в. . .
ИИ-чатбот на React с OpenAI и LangChain.js
Reangularity 17.07.2025
React давно стал для меня золотым стандартом фронтенд-разработки. Его компонентная структура, виртуальный DOM и однонаправленный поток данных идеально подходят для создания динамичных интерфейсов. . .
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru