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

operator char() или operator int() - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
17.03.2013, 22:54     operator char() или operator int() #1
Здорова госпдо!
Снова ничо не ясно как всегда.
Разбираю программку из книги Страуструпа, там он описывает класс String в нем есть
вложенный класс Cref как бы имитирующий char.
И от надыбал я там строчку:
operator char() const {s.check(i); return s.read(i);}//выдает значение
ну и не понял, что это он тут перегрузил, и кода этот оператор вызывается.

И еще смотрел на перед задачку, так там нужно сымитировать полностью класс int свой INT и там подсказка
перегрузите INT::operator int()
ну и чо это за фигня?

Када читал, то вроде как бы вспоминаю это перегрузка new или чото хз, искал не нашол, где объяснялось про эту фигню.

Да и вообще эти две задачки, разобрать класс String и создать свой INT, с оценкой *2, как бы за 1 час делаются, а я уже 4 дня разбираю, что такое перегрука. Кумарят такие задачи.

п.с. ну и книга не учебник, а гамно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 22:54     operator char() или operator int()
Посмотрите здесь:

operator int() что за зверь? C++
invalid operands of types 'double' and 'int' to binary 'operator%' C++
char operator[](unsigned short offset) const; // что означает const? C++
Пегерузка operator<< или свое универсальное исключение C++
C++ error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
C++ Operator int() в классе Строка
C++ Ошибка Operator= char []
Реализация operator + через operator += C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.03.2013, 23:20     operator char() или operator int() #2
Цитата Сообщение от ninja2 Посмотреть сообщение
ну и чо это за фигня?
оператор преобразования типа
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
#include <iostream>
 
class Test
{
   char mChar;
   int mInt;
   double mDouble;
   
public: 
   Test(char c, int i, double d)
   : mChar(c)
   , mInt(i)
   , mDouble(d)
   {
   }
   
   operator char() const
   {
      return mChar;
   }
   
   operator int() const
   {
      return mInt;
   }
   
   operator double() const
   {
      return mDouble;
   }
};
 
int main()
{
   Test t('c', 10, 100.500);
   char c = t; // с == 'c'
   int i = t; // i == 10
   double d = t; //d == 100.500
}
Yandex
Объявления
17.03.2013, 23:20     operator char() или operator int()
Ответ Создать тему
Опции темы

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