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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
verccety
-1 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 20
#1

Переопределить знаки - C++

10.05.2011, 16:56. Просмотров 533. Ответов 7
Метки нет (Все метки)

Задание на C++. Дан класс любой, в нем нужно переопределить операторы `>` и `+=` . Можете показать как делать на примере? И что подуразомевают под "переопределением" ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 16:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переопределить знаки (C++):

Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+" - C++
Добрый день помогите перевести код на Паскале на язык C++. uses crt; const a='+'; b='-'; var f : Text; st: String; i: Byte;...

Переопределить функцию - C++
Добрый день. Занимаюсь портированием стандартного gl.h, на динамический метод вызова. (Не спрашивайте зачем... нужно скрыть таблицу...

Переопределить оператор << в классе - C++
Добрый день. Не пойму как переопределить оператор &lt;&lt; для моего класса Пробую так #include &lt;iostream&gt; class MyClass ...

Переопределить операцию сложения - C++
Добрый вечер. Вообщем надо написать программу, которая складывает 2 строки причём так что 1 буква 1 строки с 1 буквой второй строки, то...

Как переопределить конструктор класса - C++
Здравствуйте. У меня есть пример такого кода:#include &lt;cstdio&gt; template &lt;int n&gt; class B { public: int size; int a; B() :...

Переопределить используя define# операторы языка С++ - C++
В моем случае: описание главной функции, оператор цикла for, открытие и закрытие файла, чтение и запись целового числа в файл. свой код...

7
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.05.2011, 16:58 #2
Открой любую книжку по С++, там есть ответ на вой вопрос.
0
verccety
-1 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 20
10.05.2011, 17:01  [ТС] #3
Открыл бы, если бы не инет с телефона )
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.05.2011, 17:05 #4
Что значит "любой класс"? Как (с чисто логической точки зрения) вы переопределите эти операции в, скажем, классе "Студент"?
0
verccety
-1 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 20
10.05.2011, 17:09  [ТС] #5
У меня класс допустим Age с объектами год,день,месяц.

в нем есть методы:
вывод,ввод, показ объекта полностью днях
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.05.2011, 17:40 #6
verccety, ну вот, для примера...

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
#include <iostream>
 
class Foo
{
public:
    Foo(int foo = 0):
    m_foo(foo)
    {
    }
 
    void set_foo(int foo)
    {
        m_foo = foo;
    }
 
    int get_foo() const
    {
        return m_foo;
    }
 
    bool operator>(const Foo &right) const
    {
        return m_foo > right.m_foo;
    }
 
    Foo &operator+=(const Foo &right)
    {
        m_foo += right.m_foo;
 
        return *this;
    }
 
private:
    int m_foo;
};
 
int main()
{
    Foo bar1(3), bar2(5);
 
    std::cout << (bar1 > bar2) << std::endl;
 
    bar1 += bar2;
 
    std::cout << bar1.get_foo() << std::endl;
 
    return 0;
}
1
verccety
-1 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 20
10.05.2011, 17:42  [ТС] #7
silent_1991, можешь добавить комментарии?)
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.05.2011, 17:56 #8
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
#include <iostream>
 
// Класс Foo
class Foo
{
public:
    // Конструктор
    Foo(int foo = 0):
    m_foo(foo) // Инициализируем поле m_foo
    {
    }
 
    // Установка нового значения поля m_foo
    void set_foo(int foo)
    {
        m_foo = foo;
    }
 
    // Получение актуального значения m_foo
    int get_foo() const
    {
        return m_foo;
    }
 
    // Перегрузка оператора ">"
    // Принимается пара экземпляров класса Foo
    // Возвращается значение типа bool
    bool operator>(const Foo &right) const
    {
        // Сравниваются на самом деле поля m_foo переданнх экземпляров
        return m_foo > right.m_foo;
    }
 
    // Перегрузка оператора "+="
    // Принимается пара экземпляров класса Foo
    // Возвращается ссылка на левый (изменяемый) операнд
    Foo &operator+=(const Foo &right)
    {
        // К значению поля m_foo левого операнда добавляется значение того же
        // поля правого операнда
        m_foo += right.m_foo;
 
        // Возвращаем ссылку на себя (левый, изменяемый операнд)
        return *this;
    }
 
private:
    int m_foo;
};
 
int main()
{
    // Создаём пару экземпляров класса Foo
    Foo bar1(3), bar2(5);
 
    // Проверяем работу оператора сравнения
    std::cout << (bar1 > bar2) << std::endl;
 
    // Проверяем работу оператора присваивания
    bar1 += bar2;
 
    std::cout << bar1.get_foo() << std::endl;
 
    return 0;
}
1
10.05.2011, 17:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2011, 17:56
Привет! Вот еще темы с ответами:

Как переопределить функцию func2 в классе B - C++
class A { A() {} и тд. public: functions.................... virtual void func1() = 0; class littleClass { ...

Как переопределить оператор ++ типа char? - C++
Добрий день Хочу спросить возможно ли как-то переопредилить оператор ++ типа char?

Как переопределить перегруженную функцию в производном классе? - C++
Как переопределить перегруженную функцию в производном классе? #include &lt;iostream&gt; class Number { public: virtual Number*...

Как можно переопределить <обобщенный аргумент> в обобщенном классе - C++
допустим есть что то простое // // #ifndef Print_HPP #define Print_HPP


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru