Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 0 / 3
Регистрация: 30.01.2010
Сообщений: 54

Прегрузки

07.04.2011, 13:34. Показов 1283. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс Bool – логические переменные. Определить операторы "+" – логическое ИЛИ, "*" – логическое И "^" – ИСКЛЮЧИТЕЛЬНОЕ ИЛИ, как дружественные функции, а операторы "==" и "!=" как методы класса. Операторы должны позволять осуществления операций, как с переменными данного класса, так и с переменными встроенного int. (Если целое число отлично от нуля, считается что переменная истинна, в противном случае ложна.)

Перегрузки не могу сделать HELP
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2011, 13:34
Ответы с готовыми решениями:

ошибка при прегрузки оператора
вот код: #include <iostream> using namespace std; class Count { private: int cn; public: Count() : cn(0)


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

Или воспользуйтесь поиском по форуму:
8
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
07.04.2011, 14:27
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
 
class Bool
{
    enum value
    {
        FALSE,
        TRUE
    };
 
public:
    Bool(int bool_value = 0):
    _bool_value(bool_value == 0 ? FALSE : TRUE)
    {
    }
 
    friend Bool operator+(const Bool &, const Bool &);
    friend Bool operator*(const Bool &, const Bool &);
    friend Bool operator^(const Bool &, const Bool &);
 
    Bool operator==(const Bool &right) const
    {
        return _bool_value == right._bool_value ? Bool (1) : Bool (0);
    }
 
    Bool operator!=(const Bool &right) const
    {
        return _bool_value == right._bool_value ? Bool (0) : Bool (1);
    }
 
    friend std::ostream &operator<<(std::ostream &, const Bool &);
 
private:
    value _bool_value;
};
 
Bool operator+(const Bool &left, const Bool &right)
{
    return (left._bool_value == Bool::TRUE || right._bool_value == Bool::TRUE) ? Bool (1) : Bool (0);
}
 
Bool operator*(const Bool &left, const Bool &right)
{
    return (left._bool_value == Bool::TRUE && right._bool_value == Bool::TRUE) ? Bool (1) : Bool (0);
}
 
Bool operator^(const Bool &left, const Bool &right)
{
    return left._bool_value == right._bool_value ? Bool (0) : Bool (1);
}
 
std::ostream &operator<<(std::ostream &left, const Bool &right)
{
    return left << right._bool_value;
}
 
int main()
{
    Bool bval1(1);
    Bool bval2;
 
    std::cout << (bval1 + bval2) << std::endl;
    std::cout << (bval1 * bval2) << std::endl;
    std::cout << (bval1 ^ bval2) << std::endl;
    std::cout << (bval1 == bval2) << std::endl;
    std::cout << (bval1 != bval2) << std::endl;
 
    std::cout << (bval1 + 1) << std::endl;
    std::cout << (bval1 * 2) << std::endl;
    std::cout << (bval1 ^ 3) << std::endl;
    std::cout << (bval1 == 4) << std::endl;
    std::cout << (bval1 != 5) << std::endl;
 
    std::cout << (0 + bval2) << std::endl;
    std::cout << (0 * bval2) << std::endl;
    std::cout << (0 ^ bval2) << std::endl;
 
    return 0;
}
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
07.04.2011, 14:40
Цитата Сообщение от silent_1991 Посмотреть сообщение
enum value { FALSE, TRUE };
Сомневаюсь, что скомпилируется. Препроцессор заменит их на 0 и 1.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
07.04.2011, 14:44
Deviaphan, MSVS2010 спокойно компилирует.

Добавлено через 1 минуту
Да и не очень понятно, при чём тут препроцессор... Это же не макросы. Или нет?
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
07.04.2011, 14:51
Цитата Сообщение от silent_1991 Посмотреть сообщение
Это же не макросы. Или нет?
TRUE и FALSE это макросы. Препроцессор их подменяет перед компиляцией.
Возможно, их определения просто в программе нету.)
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
07.04.2011, 14:56
Вы имеете ввиду, что они определены где-то ещё? Да, я об этом не подумал, но это вроде как в сях актуально было, следовательно, в сишных заголовках эти определения и лежат. На крайний случай можно заменить их на BOOL_TRUE и BOOL_FALSE, например.
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
07.04.2011, 15:05
Для С++ тоже актуально. Вернее, для WinAPI.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
07.04.2011, 15:05
Цитата Сообщение от Deviaphan Посмотреть сообщение
Сомневаюсь, что скомпилируется.
Прочь сомнения!
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
andrew@rd-andrew ~/cpp/other
$ g++ -o silent_bool silent_bool.cpp
silent_bool.cpp:79:2: warning: no newline at end of file
 
andrew@rd-andrew ~/cpp/other
$ ./silent_bool
1
0
1
0
1
1
1
0
1
0
0
0
0
 
andrew@rd-andrew ~/cpp/other
$
1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
07.04.2011, 16:20
Цитата Сообщение от Deviaphan Посмотреть сообщение
Вернее, для WinAPI
если я не ошибаюсь, то это только для WinAPI и актуально (насколько я знаю, эти макроси ни для стандартного С, ни для С++ не описаны). Тока с каких пор WinAPI относится к С++, я не знаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru