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

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

Войти
Регистрация
Восстановить пароль
 
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
#1

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

30.03.2010, 23:31. Просмотров 589. Ответов 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;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 23:31     Ошибка с перегрузкой операторов
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
31.03.2010, 01:25     Ошибка с перегрузкой операторов #2
а что такое +-+?)
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
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;
}
и будет тебе счастье.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
31.03.2010, 10:50  [ТС]     Ошибка с перегрузкой операторов #4
Цитата Сообщение от Vorona Посмотреть сообщение
а что такое +-+?)
оператор, нельзя чтобы я сам свой создал?

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

Добавлено через 1 минуту
Только вот эти:
Код
+    -    *    /    =    <    >    +=   -=   *=   /=   <<   >>
<<=  >>=  ==   !=   <=   >=   ++   --   %    &    ^    !    |
~    &=   ^=   |=   &&   ||   %=   []   ()   ,    ->*  ->   new 
delete    new[]     delete[]
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
31.03.2010, 11:55  [ТС]     Ошибка с перегрузкой операторов #6
easybudda, так что код делает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 12:29     Ошибка с перегрузкой операторов
Еще ссылки по теме:

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

Проблемы с перегрузкой операторов файлового вводы/вывода - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; class Array{ int...

Разница между перегрузкой операторов внешней или внутренней функцией - C++
Перегружаю operator* (умножаю экземпляры своего класса между собой). Как лучше перегрузить: MyClass operator*(MyClass a, MyClass b){}или ...

Создать файл для определения класса рациональных чисел с перегрузкой операторов - C++
Добрый день. Нужно создать файл для определения класса рациональных чисел с перегрузкой операторов. Ввиду своей криворукости имею множество...


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

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
31.03.2010, 12:29     Ошибка с перегрузкой операторов #7
Цитата Сообщение от МедведЪ Посмотреть сообщение
easybudda, так что код делает
Перегружает оператор "поместить в поток" для твоего класса, потому как без подсказки компилятор не узнает как это делать с твоим классом.
Yandex
Объявления
31.03.2010, 12:29     Ошибка с перегрузкой операторов
Ответ Создать тему
Опции темы

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