Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,039
1

operator char() или operator int()

17.03.2013, 22:54. Просмотров 2606. Ответов 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 дня разбираю, что такое перегрука. Кумарят такие задачи.

п.с. ну и книга не учебник, а гамно.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 22:54
Ответы с готовыми решениями:

Class & operator's |Error: undefined reference to operator
Компилирует нормально, но когда хочу использовать оператор выдает ошибку:undefined reference to...

Вызов operator[] через operator[] const
Перелистывал Майерса, наткнулся на код, подскажите пожалуйста почему он советует закомментированный...

Перегрузка operator>> и operator<< в абстрактном классе
Здрасьте! Есть необходимость перегрузить потоки, Я знаю как это сделать через friend, но вот...

Ошибка Operator= char []
Пробую написать свой строковый тип (wStr) с нуля Такой код работает: wStr path_prj_2;...

1
Каратель
Эксперт С++
6594 / 4015 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.03.2013, 23:20 2
Лучший ответ Сообщение было отмечено ninja2 как решение

Решение

Цитата Сообщение от 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
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2013, 23:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Зачем нужен operator++(int)
Очень тупой вопрос - для чего нужен operator++(int)? Ну, то есть, понятно что он делает...

operator int() что за зверь?
Несколько раз видел в интернетах такую запись: operator int(){}; По контексту так и не понял, что...

Operator int() в классе Строка
Приведите пример, пожалуйста, как воспользоваться данной перегрузкой операции в main. String.h...

Реализация operator + через operator +=
внутри следующей темы возник вопрос, ответ на который так и не был получен:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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