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

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

Войти
Регистрация
Восстановить пароль
 
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
#1

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

22.01.2012, 13:10. Просмотров 456. Ответов 3
Метки нет (Все метки)

вот код:
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
#include <iostream>
using namespace std;
class Count
{
private:
    int cn;
public:
    Count() : cn(0)
    {}
    Count (int c) : cn(c)
    {}
    int getcn ()
    {
       return cn; 
    }
    void operator ++()
    {
        ++cn;
    }
    
};
int main()
{
    Count c1;
    Count c2;
    ++c1;
    cout << "C1 = " << c1 << endl;
    c2++;
    ++c2;
    ++c2;
    cout << "C2 = " << c2 << endl;
    
    system("pause");
    return 0; 
}
как в книге вот ошибки компилятора:

error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class Count' (or there is no acceptable conversion)

warning C4620: no postfix form of 'operator ++' found for type 'Count', using prefix form

see declaration of 'Count'

error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class Count' (or there is no acceptable conversion)
Error executing cl.exe.

2 error(s), 1 warning(s)

что надо испарить в коде?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 13:10     ошибка при прегрузки оператора
Посмотрите здесь:

Ошибка при перегрузке оператора >> - C++
Приветствую. Есть 2 класса: enum Color { white = 1, red, green, blue, yellow }; class Shape { protected: Color figureCol; ...

Ошибка при перегрузке оператора cin >> - C++
#include &lt;iostream&gt; using namespace std; /////////////////////////////////////////////////////////// class fraction { ...

Выдается ошибка в std при использовании оператора for - C++
Написал программу с использованием оператора for на С++. Вот код: # include &lt;iosteam&gt; int main () { int sum = 0; for...

Ошибка в перегрузке оператора - при работе с массивами - C++
Текст программы: #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; class array { public: array(); ...

Ошибка при вызове в switch перегруженного оператора - C++
есть перегруженный оператор: std::istream&amp; operator&gt;&gt;(istream&amp; is, diagram&amp; dd) { string kod; std::cout&lt;&lt;&quot;Vvedite kod:&quot;&lt;&lt;endl; ...

Прегрузки - C++
Создать класс Bool – логические переменные. Определить операторы &quot;+&quot; – логическое ИЛИ, &quot;*&quot; – логическое И &quot;^&quot; – ИСКЛЮЧИТЕЛЬНОЕ ИЛИ, как...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,121
22.01.2012, 13:25     ошибка при прегрузки оператора #2
Нужно дописать недостающие перегрузки, написано же.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
22.01.2012, 13:29     ошибка при прегрузки оператора #3
C++
1
2
3
4
5
6
cout << "C1 = " << c1.getcn() << endl;        
...
// для постфиксной версии инкремента перегрузи соответсвующую функцию(operator++(int))
c2++; 
...
cout << "C2 = " << c2.getcn() << endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 15:01     ошибка при прегрузки оператора
Еще ссылки по теме:

Ошибка при использовании оператора for в задаче с символьными строками - C++
При использовании оператора for, цикл почему-то первый раз дублируется, и вместо B раз получается b-1. Фэйл происходит в этом цикле. ...

Ошибка при использовании оператора delete в Visual Studio 2010 - C++
Изучаю указатели в C++. Есть следующий код: #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int main() { ...

Синтаксическая ошибка при определении метода перегруженного оператора,за классом - C++
Есть два класса. Point1 и Pointer1 Синтаксическая Ошибка в Pointer1.cpp в перегрузке операторов. Point1.h #pragma once ...

Перегрузка оператора "++" и "--" , компилирует, но при запуске программы - ошибка - C++
#include &lt;iostream&gt; #include&lt;ctime&gt; #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,921
Записей в блоге: 1
22.01.2012, 15:01  [ТС]     ошибка при прегрузки оператора #4
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
5
6
cout << "C1 = " << c1.getcn() << endl;        
...
// для постфиксной версии инкремента перегрузи соответсвующую функцию(operator++(int))
c2++; 
...
cout << "C2 = " << c2.getcn() << endl;
а это метод:
C++
1
2
3
4
 int getcn ()
        {
           return cn; 
        }
всегда нужен для вывода перменых?
Yandex
Объявления
22.01.2012, 15:01     ошибка при прегрузки оператора
Ответ Создать тему
Опции темы

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