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

operator int() что за зверь? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Минимальные строки массива http://www.cyberforum.ru/cpp-beginners/thread177396.html
Дан пример Q=min(2*MA*MB). Помогите пожалуйста в вектор Q внести минимальные строки матрицы: 2*MA*MB. Вот мои наработки: #include <iostream> #include <stdlib.h> #include <time.h> #include...
C++ Найти минимальный элемент матрицы Плиз, помогите, учить некогда, а надо в понедельник сдать рабочую программу, темы пропустил. Короче: есть квадратный массив, вводится программистом, в каждой строке надо найти минимальный елемент,... http://www.cyberforum.ru/cpp-beginners/thread177387.html
C++ Степень
Хочу реализовать 2 в 3 степени .. но не могу докумекать как это сделать .. Каким циклом сделать лучше ? 2*2*2=8 ВНИМАНИЕ НЕ КИДАЙТЕ ГОТОВОЕ РЕШЕНИЕ ХОЧУ САМ ДОПЕТРИТЬ (ДЛЯ СЕБЯ РЕШАЮ , СОБАЧИЙ...
C++ Изменяется значение щетчика
програма читает с файлов числа, и выводит на екран. Не могу понять, почему щетчики i,j после исполнения цыкла увеличиваются на 1? Пишу в VS 2010 к примеру в файле у меня 7 чисел, и соответственно...
C++ Оканчивается ли число на 1? http://www.cyberforum.ru/cpp-beginners/thread177364.html
Помогите пожалуйста с алгоритмом, мне нужно определить, когда число оканчивается на 1 (кроме 11), т.е. 1, 21, 31, 41 и т.д.
C++ Поиск слова в тексте Текст представляет собой програму на языке Си. Подсчитать количество инструкций for, вложеных в одну. Программа должна быть написана на языке Си прошу помощи подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
17.10.2010, 10:07
Это оператор преобразования в тип int. Разумеется, такой оператор всегда должен возвращать значение соответствующего типа, поэтому его тело не может быть пустым, как в приведённом примере.
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MyNumber {   // Неизменяемое целое число
public:
    MyNumber(int value = 0): number(value) {}
    operator int () const {return number;}  // Преобразование в int
private:
        const int number;
};
 
void foo(int num);
 
void bar()
{
    MyNumber n(7);
    foo(n);   // Здесь n неявно преобразуется в int за счёт вызова operator int
}
Ну и напоследок напомню о жёстком правиле - в неявных преобразованиях может участвовать не более одного определённого пользователем преобразования. Никаких цепочек.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru