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

Наследование преинкремента в класс с постинкрементом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать все слова, содержащие по одной цифре http://www.cyberforum.ru/cpp-beginners/thread433690.html
Напечатать все слова, содержащие по одной цифре.
C++ Удаление строки из файла Сабж, осуществляю ввод и вывод с помощью iostream и использованием векторного массива, нужно удалить строку из файла... Интересует пример кода. Добавлено через 2 часа 1 минуту Написал сам... если... http://www.cyberforum.ru/cpp-beginners/thread433682.html
C++ Описать структуру с именем Order
Описать структуру с именем Order содержащую следующие поля: расчётный счет плательщика, расчётный счёт получатля, перечисляемая сумма в гривнах. Написать программу, выполняющую следующие действия:...
C++ Полиморфизм
Всем доброго времени суток, Разъясните пожалуйста задание: Создать класс живущих с местоположением . Определить наследуемые классы - лиса, кролик и трава. Лиса ест кролика. Кролик ест траву ....
C++ помогите понять смысл задания http://www.cyberforum.ru/cpp-beginners/thread433631.html
(*3.5) Реализуйте версии istream и ostream для чтения и записи чисел в двоич- двоичном виде без преобразования их в символы. Рассмотрите достоинства и недостат- недостатки этого подхода по...
C++ С чего начать? Доброго времени суток! Уже достаточно давно засела мысль заняться программированием.Покопавшись немного в инете, решил определись для себя С++ (по описанию выглядит достаточно маневренным и... подробнее

Показать сообщение отдельно
Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171

Наследование преинкремента в класс с постинкрементом - C++

23.01.2012, 17:34. Просмотров 1079. Ответов 11
Метки (Все метки)

Дана задача: Написать класс Counter, реализовать в нем перегрузку преинкремента. В производном от него классе реализовать перегрузку постинкремента.
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
#include <iostream>
using namespace std;
 
class Counter
{
protected:
    int count;
public:
    Counter(int c=0): count(c) {}
    ~Counter(){}
    Counter &operator++() {count++; return (*this);}
};
 
class Counter2: public Counter
{
public:
    Counter2(int c=0):Counter(c) {}
    ~Counter2(){}
    Counter2 operator++(int){Counter2 tmp(*this); count++; return tmp;}
};
 
int main()
{
    Counter2 i=0;
    ++i;
}
Ошибка: error C2675: unary '++' : 'Counter2' does not define this operator or a conversion to a type acceptable to the predefined operator.
Указывает на строку с ++i.
Я так понимаю, что из-за одинаковых имен операторов, преинкремент не наследуется. Как сделать, чтобы он наследовался?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru