Форум программистов, компьютерный форум, киберфорум
Наши страницы

Переопределение оператора в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сравнивание переменной с массивом(чисел) http://www.cyberforum.ru/cpp-beginners/thread341191.html
есть массив int mass = {1,2,3,4,5,6,7,8,9} как сравнить переменную с массивом?
C++ Преобразование строки в целое Может вопрос и глупый, но я все равно не догоняю... В функции что означает 3 параметр: char *_itoa( int value, char *str, int radix ); http://www.cyberforum.ru/cpp-beginners/thread341186.html
C++ Создание бота. Эмуляция клавиатуры, мыши.
Попросили написать простенький бот для одной корейской онлайн игрушки. Сразу столкнулся с проблемой сабжа - игрушка защищена православным GameGuard'ом и напрочь игнорирует Keybd_event, sendkeys etc....
Дейтел. Помощь в решении задач из книги C++
Добрый день. Начал изучение С++ по книге "Как программировать на С++" 5 издание. Установлена IDE Code::Blocks компилятор GCC. Не могу решить задачку 3.11. Где надо модифицировать класс...
C++ классы http://www.cyberforum.ru/cpp-beginners/thread341115.html
Всем привет! Есть такое задание: Создайте программу с классом Team, который включает в себя следующие данные об участниках спортивных соревнований: ФИО игрока, игровой номер, возраст, рост, вес. ...
C++ Сравнение шестнадцатеричных форм Такая задача:считать из потока 2-байтовое число, перевести в 16-ричную систему счисления и сравнить с заданным 16-ричным числом. помогите с решением.очень надо.. подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
11.08.2011, 21:04
lazybiz,
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
#include <iostream>
 
class Foo
{
public:
    // Без ключевого слова explicit разрешаем конструктору вызываться неявно
    // для преобразования из int в Foo (по сути для создания временного
    // объекта)
    Foo(int foo = 0):
    m_foo(foo)
    {
    }
 
    int get_foo() const
    {
        return m_foo;
    }
 
    friend Foo operator+(const Foo &, const Foo &);
 
private:
    int m_foo;
};
 
Foo operator+(const Foo &left, const Foo &right)
{
    return Foo (left.m_foo + right.m_foo);
}
 
int main()
{
    Foo f1(2);
    Foo f2 = 5; // Здесь целое 5 преобразуется во временный объект Foo (5)
    Foo f3;
 
    f3 = f1 + f2; // Эквивалентно operator+(f1, f2);
    f3 = f3 + 2;  // Эквивалентно operator+(f3, Foo (2));
    f3 = 2 + f3;  // Эквивалентно operator+(Foo (2), f3);
 
    std::cout << f3.get_foo() << std::endl;
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru