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

Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа - C++

Восстановить пароль Регистрация
 
 
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
08.08.2014, 18:20     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа #1
обычный счетчик с уровнями наследования. почему-то к префиксным операциям нет доступа. в чем дело?


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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "stdafx.h"
#include <iostream>
using namespace std;
///////////////////////////////////////////////////////////
class Counter
{
protected:     // заметьте, что тут не следует использовать private
    unsigned int count;              // счетчик
public:
    Counter() : count(0)              // конструктор без параметров
    { }
    Counter(int c) : count(c)        // конструктор с одним параметром
    { }
    unsigned int get_count() const   // получение значения
    {
        return count;
    }
    Counter operator++()             // оператор увеличения
    { 
        return Counter(++count);
    }
};
///////////////////////////////////////////////////////////
class CountDn : public Counter
{
public:
    CountDn() : Counter()            // конструктор без параметров
    { }
    CountDn(int c) : Counter(c)      // конструктор с одним параметром
    { }
    CountDn operator--()             // оператор уменьшения
    { 
        return CountDn(--count);
    }
};
class Postfix : public CountDn
{
public:
    Postfix() : CountDn()
    {}
    Postfix(int c) : CountDn(c)
    {}
    Postfix operator++(int)   
    { 
        return Postfix(count++);
    }
    Postfix operator--(int)           
    { 
        return Postfix(count--);
    }
};
///////////////////////////////////////////////////////////
int main()
{
    Postfix c1;                         // переменные класса CountDn
    Postfix c2(100);
 
    cout << "\nc1 = " << c1.get_count();// выводим значения на экран
    cout << "\nc2 = " << c2.get_count();
 
    ++c1; ++c1; ++c1;                   // увеличиваем c1
    cout << "\nc1 = " << c1.get_count();// показываем результат
 
    --c2; --c2;                         // уменьшаем c2
    cout << "c2 = " << c2.get_count();  // показываем результат
 
    Postfix  c3 = --c2;   // создаем переменную c3 на основе c2
    cout << "\nc3 = " << c3.get_count();// показываем значение
    cout << endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2014, 18:20     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа
Посмотрите здесь:

C++ Перегрузка операций
C++ Перегрузка операций
C++ Перегрузка операций!
Перегрузка операций C++
Счетчик операций в цикле do-while C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
10.08.2014, 02:58  [ТС]     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа #21
DrOffset, вернусь и посмотрю другими глазами уже
хотя вообще странно поставлена задача у меня в книге. ни один из предложенных способов реализации Postfix не был упомянут в учебнике. как я его должна была сама делать - не понятно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
10.08.2014, 03:16     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа #22
Цитата Сообщение от Pari Посмотреть сообщение
ни один из предложенных способов реализации Postfix не был упомянут в учебнике
Что за книга?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2014, 03:24     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа
Еще ссылки по теме:

Перегрузка операций C++
Перегрузка оператора << Нет доступа к член данным! В чем загвоздка? C++
C++ Не работает счетчик операций

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

Или воспользуйтесь поиском по форуму:
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
10.08.2014, 03:24  [ТС]     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа #23
Цитата Сообщение от DrOffset Посмотреть сообщение
Что за книга?
Р. Лафоре ООП в С++
Yandex
Объявления
10.08.2014, 03:24     Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа
Ответ Создать тему
Опции темы

Текущее время: 19:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru