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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное http://www.cyberforum.ru/cpp-beginners/thread138520.html
Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное, иначе – минимальное.Как это выглядит С++?
C++ Что означает ошибка? Написал программу. Компилятор выдаёт мне ошибки: №1) Error: Unresolved external 'ReadTextFile(std::basic_fstream<char, std::char_traits<char> >&, NoteBook&)' referenced from C:\DOCUMENTS AND SETTINGS\ADMIN\¦L+++Lг TT+T\=+TL- ¦L¦¦L (3)\DEBUG_BUILD\FUNC.OBJ №2) Error: Unresolved external 'WriteBinFile(std::basic_fstream<char, std::char_traits<char> >&, NoteBook&)' referenced from... http://www.cyberforum.ru/cpp-beginners/thread138500.html
Максимумы и минимумы. Векторы C++
1). Дано целое число N из целых чисел. Найти номера первого и последнего максимального элемента из данного набора и вывести их в указанном порядке. 2). Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество К. 3). Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию...
Удалить из файла 3 последние строки. C++
Дан текстовый файл, содержащий более 3х строк. Удалить из файла 3 последние строки.
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread138482.html
1). Дана матрица размера M*N. Для каждой строки матрицы найти сумму её элементов. 2). Дана квадратная матрица А порядка М. Найти сумму элементов её главной диагонали, содержащей следующие элементы: А(0,0), А(1,1), А(2,2), ..., А(М-1, М-1). 3). Дана матрица размера M*N. Вывести её элементы, расположенные в строках с четными номерами (0,2,4,...). Вывод элементов производить по строкам, условный...
C++ Программа создания словника по тексту. Уважаемые программисты, помогите пожалуйста! Я ничего не соображаю в С++, а задание очень большое и сложное. Вся надежда на вас - мыслящих людей!:) Заранее спасибо! а) Программа создает (или добавляет в уже созданный) типизированный файл из слов текста, вводимого с клавиатуры. Повторяющиеся слова вводятся только один раз. Параллельно создается файл индексов - типизированный файл, содержащий... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
31.05.2010, 17:30     Перегрузка бинарного оператора
FiXeR, можно вот так например сделать:
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
#include <iostream>
 
class MyClass {
    int _val; // ну или нужный тип данных
public:
    MyClass() : _val(0) {}
    MyClass(int val) : _val(val) {}
    ~MyClass() {}
    int value() const { return _val; }
    void value(int val) { _val = val; }
};
 
MyClass operator% (const MyClass & a, const MyClass & b) {
    MyClass r(a.value() + b.value());
    return r;
}
 
std::ostream & operator << (std::ostream & ost, const MyClass & mc){
    ost << mc.value();
    return ost;
}
 
int main(){
    MyClass a(2), b(2), c;
 
    std::cout << "a = " << a << "; b = " << b << std::endl;
    c = a % b;
    std::cout << "a % b = " << c << std::endl;
 
    return 0;
}
Код
$ ./overload_percent 
a = 2; b = 2
a % b = 4
 
Текущее время: 02:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru