С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,377
Завершенные тесты: 1
1

Ошибка с перегрузкой операторов

30.03.2010, 23:31. Просмотров 622. Ответов 6
Метки нет (Все метки)

копилятор видимо тупит или я туплю или автор книги
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class countt{
public:
    int getvar()const{return itsvar;}
    void setvar(int var){itsvar=var;}
    void inc(){itsvar++;}
    void operator++(){++itsvar;}
    countt(){itsvar(0);}
    ~countt(){}
private:
    int itsvar;
};
 
int main(){
    countt x;
    cout<<"x="<<x<<endl;
    x++;
    cout<<"x="<<x<<endl;
system("pause");
return 0;
 
}
Error 17 error C2064: term does not evaluate to a function taking 1 arguments d:\c++ projects\proba\proba\code.cpp 15
Error 18 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'countt' (or there is no acceptable conversion) d:\c++ projects\proba\proba\code.cpp 23
Error 20 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'countt' (or there is no acceptable conversion) d:\c++ projects\proba\proba\code.cpp 25
Добавлено через 2 минуты
пардон,оказалось что я тупил..должен был написать x.getvar()

Добавлено через 38 секунд
а как сделать так чтобы без методов получить значение?объявить член как публичный?

Добавлено через 1 минуту
а почему на эту строку орет?
C++
1
    void operator+-+(){++itsvar;}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 23:31
Ответы с готовыми решениями:

Добавление и удаление объектов с перегрузкой операторов '+' и '-'
У нас есть массив указателей на объекты, и нужно осуществить добавление и удаление объектов с...

Объясните работу кода с перегрузкой операторов
Здравствуйте Код: #include &lt;iostream&gt; using namespace std; class A { public:

Шаблон класса дата с перегрузкой операторов
Ребят, не могу найти на форуме каких-либо разработок по такой задаче, как: Разработать шаблон...

Создание шаблона с перегрузкой стандартных операторов
Здравствуйте уважаемые! Уже несколько часов подряд бьюсь над задачей вроде бы очень простой, но...

Проблема с абстрактными классами и перегрузкой операторов
добрый день. в общем ситуация такая: есть несколько классов, наследуемых от абстрактного класса....

6
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
31.03.2010, 01:25 2
а что такое +-+?)
0
easybudda
Модератор
Эксперт CЭксперт С++
10157 / 6062 / 1525
Регистрация: 25.07.2009
Сообщений: 11,496
31.03.2010, 01:35 3
МедведЪ, добавь в public
C++
1
2
3
4
friend ostream& operator << ( ostream& ost, const countt& c ){
    ost << c.itsvar;
    return ost;
}
и будет тебе счастье.
0
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,377
Завершенные тесты: 1
31.03.2010, 10:50  [ТС] 4
Цитата Сообщение от Vorona Посмотреть сообщение
а что такое +-+?)
оператор, нельзя чтобы я сам свой создал?

Добавлено через 20 секунд
Цитата Сообщение от easybudda Посмотреть сообщение
и будет тебе счастье
а для чего это?много незнакомого
0
fasked
Эксперт С++
4984 / 2563 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.03.2010, 10:54 5
Цитата Сообщение от МедведЪ Посмотреть сообщение
оператор, нельзя чтобы я сам свой создал?
Нет, нельзя

Добавлено через 1 минуту
Только вот эти:
Код
+    -    *    /    =    <    >    +=   -=   *=   /=   <<   >>
<<=  >>=  ==   !=   <=   >=   ++   --   %    &    ^    !    |
~    &=   ^=   |=   &&   ||   %=   []   ()   ,    ->*  ->   new 
delete    new[]     delete[]
1
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,377
Завершенные тесты: 1
31.03.2010, 11:55  [ТС] 6
easybudda, так что код делает
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
31.03.2010, 12:29 7
Цитата Сообщение от МедведЪ Посмотреть сообщение
easybudda, так что код делает
Перегружает оператор "поместить в поток" для твоего класса, потому как без подсказки компилятор не узнает как это делать с твоим классом.
1
31.03.2010, 12:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 12:29

Создание класса с перегрузкой операторов конструктор и деструктор
Создать класс времени (Time) содержащий закрытую переменную-член хранящую целое значение времени...

Проблема с перегрузкой операторов '-' >> << и с конструктором без параметров
Помогите пожалуйста, проблема с перегрузкой операторов '-' &gt;&gt; &lt;&lt;, возможно еще с конструктором без...

Нахождение квадрата числа с перегрузкой операторов и функций
Нахождения квадрата числа. Программа на перегрузки операций , функций.


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

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

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