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

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

Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
#1

Происхождение и сущность ошибок.оператор operator++ - C++

24.10.2013, 13:12. Просмотров 276. Ответов 4
Метки нет (Все метки)

Пожалуста, обьясните про оператор operator++. честно написать, я вобще почти ничего не понял. Как он действует? Для чего он нужен?

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
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. Просто подключите это файл смело и не раздумывая  вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 class Superclass
 {
 public:
     Superclass();
    ~Superclass(){ }
       int Vydavatel()const { return Tselaja; }
       void Prinymatel(int B) { Tselaja = Tselaja+B; }
       Superclass operator++ () { ++Tselaja; return Superclass;}
 
 private:
       int Tselaja;
 };
 
 
 
 Superclass::Superclass():
       Tselaja(0)
 {cout << "Superclass()" <<  endl; }
 
 
 Superclass Superclass::operator++()
 {    Superclass Bum;
      Bum.Prinymatel(50);
      return Bum;   }
 
 
 int main()
 {
Superclass Bject;  
           cout << "Tselaja " <<Bject.Vydavatel() << endl;
Superclass a = ++Bject;
           cout << "Tselaja " <<Bject.Vydavatel() << endl;
           cout << "Tselaja " << a.Vydavatel() << endl;
 
 system("pause  ");
 
 return 0;
 }
Пожалуста, поразясняйте ошибки, помогите окультурить код.

1>d:\проги\uffff\uffff\fffff.cpp(15 ): error C2275: Superclass: недопустимое использование этого типа в качестве выражения
1>d:\проги\uffff\uffff\fffff.cpp(29 ): error C2084: функция "Superclass Superclasserator ++(void)" уже имеет текст реализации
1> d:\проги\uffff\uffff\fffff.cpp(15): см. предыдущее определение "++"
1>d:\проги\uffff\uffff\fffff.cpp(38 ): error C2264: Superclasserator ++: ошибка в определении или объявлении функции; функция не вызвана
1>d:\проги\uffff\uffff\fffff.cpp(38 ): error C2088: ++: недопустимо для class
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2013, 13:12     Происхождение и сущность ошибок.оператор operator++
Посмотрите здесь:

Тернарный оператор и множество ошибок в коде - C++
Вот задание: И простой код: #include&lt;iostream&gt; using namespace std; int main() { int n,k; cin&gt;&gt;n; ...

Перегрузить для класса оператор == (много ошибок) - C++
не могу разабраться в чем ошибки при компиляции... помогите пожалуйста код: #include &quot;StdAfx.h&quot; #include &lt;conio.h&gt; #include...

Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? - C++
лучше говорить операция, так как оператор в англоязычной литературе, это нечто иное...

Operator +, operator += — какой через какой реализовывать? - C++
Для class Fraction { // ... public: Fraction operator + ( const Fraction&amp; right ) const; Fraction&amp; operator += ( const...

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

Разработать структуру «Живая сущность» - C++
Разработать структуру «Живая сущность» (скорость передвижения, тип (птица, скот, человек), цвет, характеристика (для птицы – скорость...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

operator[] - C++
class A { public: A(){} prvate: int _m; }; Как перегрузить оператор , что бы можно было написать

operator++ - C++
Всем доброго времени суток. Вот сделал перегрузку оператора ++ TAvia TAvia::operator++() { TAvia temp; temp.year=this-&gt;year+1; ...

operator= - C++
Такой вопрос. Есть объект. Хочу чтобы при присваивании его к чеслу выдавалось число. Например. class MyClass { short...

Operator*=(); - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace::std; class Distance //Класс английских длин { ...

Operator + - C++
Создайте в классе Circle оператор + для сложения объектов типа Circle. Необходимо складывать только величины радиусов itsRadius. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
24.10.2013, 13:20     Происхождение и сущность ошибок.оператор operator++ #2
C++
1
return Superclass
Возвращаете имя класса?

И префиксный инкремент по логике должен возвращать тот же объект, то есть ссылку на *this
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.10.2013, 15:03  [ТС]     Происхождение и сущность ошибок.оператор operator++ #3
А может кто-то привести пример с operator++?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
24.10.2013, 15:12     Происхождение и сущность ошибок.оператор operator++ #4
Чем тебя этот ответ не устраивает?
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.10.2013, 15:42  [ТС]     Происхождение и сущность ошибок.оператор operator++ #5
Скомпилировалось!! я что-то вчера не понял. Расматриваю внимательней!!!
Yandex
Объявления
24.10.2013, 15:42     Происхождение и сущность ошибок.оператор operator++
Ответ Создать тему
Опции темы

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