Перегрузка декремента.

Перегрузка декремента.

Что должен возвращать оператор декремента? (Изменяются не count или dot, а str)

class DoubleStr
{
    int count;
    string str;
    int dot;
  public:
    const DoubleStr& operator--()//перегрузка оператора декремента
    {
      //некоторые действия
      //return нечто;
    }
};

Вообще-то это классика жанра. В любой книге это есть.

class DoubleStr
{
    int count;
    string str;
    int dot;
  public:
    DoubleStr& operator--()//перегрузка оператора ПРЕФИКСНОГО декремента
    {
      //некоторые действия по "уменьшению" объекта
      return *this;
    }
    DoubleStr operator--(int)//перегрузка оператора ПОСТФИКСНОГО декремента
    {
      DoubleStr temp = *this;
      //некоторые действия по "уменьшению" объекта
      return temp;
    }
};

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.