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

Что же сдесь написано? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти N различных чисел, среднее арифметическое которых равно a http://www.cyberforum.ru/cpp-beginners/thread1021122.html
Дано некоторое число a. Найти N различных чисел, среднее арифметическое которых равно a. a и N задаются.
C++ Сортировка массива слов методом прямого выбора Помогите пожалуйста сделать сортировку массива слов методом прямого выбора. То есть у меня есть массив слов, и мне сначала для сортировки методом прямого выбора надо найти минимальный элемент, вот как мне это сделать?Если допустим будут несколько слов начинающихся на одну букву и т.п. Заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread1021082.html
Вывести на экран слова, из которых состоит текст C++
Помогите пожалуйста решить Вывести на экран слова, из которых состоит текст.
C++ Подсчитать количество символов в строке
Помогите пожалуйста решить 1. Подсчитать количество символов в строке.
C++ Подсчитать количество слов в строке http://www.cyberforum.ru/cpp-beginners/thread1021069.html
Помогите пожалуйста решить 2. Подсчитать количество слов в строке.
C++ Реализовать экранную заставку с видеоэффектом «Падающая звезда» Используя графические возможности языка C, реализовать экранную заставку с предложенным видеоэффектом.«Падающая звезда» - по звездному небу перемещается, «падая» звезда. подробнее

Показать сообщение отдельно
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091

Что же сдесь написано? - C++

27.11.2013, 18:53. Просмотров 256. Ответов 7
Метки (Все метки)

Гляньте пожалуста.


Операторы преобразования типов
В C++ есть специальные операторы преобразования типов, которые можно добавить в пользовательский класс. В результате появится возможность явного преобразования типа пользовательского класса к любому из базовых типов данных языка программирования. Реализация этой возможности показана в листинге 10.18. Только одно замечание: в операторах преобразований не задается тип возврата. Даже если их работа напоминает возврат функции, в действительности они возвращают преобразованное значение.Листинг 10.18. Преобразования данных типа Counter в тип unsigned short()
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
1: #include <iostream.h>
2:
3: class Counter
4: {
5:*** public:
6:****** Counter();
7:****** Counter(int val);
8:****** ~Counter(){ }
9:****** int GetItsVal()const { return itsVal; }
10:***** void SetItsVal(int x) { itsVal = x; }
11:***** operator unsigned short();
12:** private:
13:***** int itsVal;
14:
15: };
16:
17: Counter::Counter():
18: itsVal(0)
19: { }
20:
21: Counter::Counter(int val):
22: itsVal(val)
23: { }
24:
25: Counter::operator unsigned short ()
26: {
27:*** return ( int (itsVal) );
28: }
29:
30: int main()
31: {
32:*** Counter ctr(5);
33:*** int theShort = ctr;
34:*** cout << "theShort: " << theShort << endl;
35:*** return 0;
36: }
Результат:
theShort: 5Анализ: В строке 11 объявляется оператор преобразования типа. Обратите внимание, что в нем не указан тип возврата. Функция оператора преобразования выполняется в строках 25—28. В строке 27 возвращается значение объекта itsVal, преобразованное в тип int.
Теперь компилятор знает, как присвоить объекту класса значение типа int и как возвратить из объекта класса текущее значение, чтобы присвоить его внешней переменной типа int.

Вопрос. А зачем это нам специально задавать тип инт переменной (27) return ( int (itsVal) ); Если она и так же обьявлена как инт, да, это у нас переменная инт (13) int itsVal; И вообще мы заявили усингед шорт (25) Counter::operator unsigned short () А выдаем инт.
А вот тут вообще написано В строке 27 возвращается значение объекта itsVal, преобразованное в тип int.
Наверное, правильно тут написать- возвращается значение переменной itsVal типа int принадлежащей объекту ctr,
которое мы обратно преобразовали в тип int.

Я код не вставлял в тэги- его еще раз пронумерует и будет каша.
Я придираюсь к словам. Часто все проясняют тут последующие примеры, я в общем люблю такой стиль. Но тут пока нипонятно! То есть, почти нифига не понятно.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru