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

Что за перегруженный оператор char* ()? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задание по файлам. В чем ошибка?? http://www.cyberforum.ru/cpp-beginners/thread178690.html
1. Создать на диске типизированный файл произвольного доступа с записями заданной структуры. 2. Для созданного файла предусмотреть возможность: – изменения выбранного поля некоторой записи;...
C++ Пересекающиеся окружности Есть задачка.... Нужно решить её, используя массивы данных... Только вот... У меня старая версия С, пожалуйста, используйте обычные библиотеки и операции типа stdio.h, printf, scanf и т.д. Так вот...... http://www.cyberforum.ru/cpp-beginners/thread178686.html
C++ ПРЕОБРАЗОВАНИЕМ МАТРИЦЫ
Помогите, пожалуйста, с задачей НАЗОВЕМ ДОПУСТИМЫМ ПРЕОБРАЗОВАНИЕМ МАТРИЦЫ ПЕРЕСТАНОВКУ ДВУХ СОСЕДНИХ СТРОК ИЛИ ДВУХ СОСЕДНИХ СТОЛБЦОВ. ДАНА ДЕЙСТВИТЕЛЬНАЯ КВАДРАТНАЯ МАТРИЦА ПОРЯДКА N. С ПОМОЩЬЮ...
стандартные функции библиотеки <string.h> C++
Здравствуйте, товарищи порграммисты :gsmile: Помогите, пожалуйста, с написанием програмки на языке C . Дано: символьная строка "abcdefg". Нужно: начиная с символа "с" скопировать три...
C++ Непонятное условие задачм http://www.cyberforum.ru/cpp-beginners/thread178656.html
Добрый день! У меня если такое задание необходимо подсчитать значение y по следующей формуле y=2sin2x+x2 (sin и x после знака сложения в квадрате) но я незнаю как это написать в кодe.
C++ Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A Есть массив hex значений: #include "stdafx.h" #include <iostream> #include "conio.h" using namespace std; __int16 aaa = {0x110f,0x210f,0x220f,0x567f,0x895f,0x479f}, bbb; int main() { ... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.10.2010, 19:44
kravam, Скорее потому, что это не столь часто используется. Приведение типов аще опасно и не рекомендуется.

Добавлено через 4 минуты
Цитата.

Значительно удобнее автоматически преобразовать объект класса SmallInt в объект типа int.

В языке C++ имеется механизм, позволяющий в любом классе задать набор преобразований, применимых к его объектам. Для SmallInt мы определим приведение объекта к типу int. Вот его реализация:

class SmallInt {
public:
SmallInt(int ival) : value(ival) {}

// конвертер
// SmallInt ==> int
operator int() {return value;}

// перегруженные операторы не нужны

private:
int value;
};

Оператор int() – это конвертер, реализующий определенное пользователем преобразование, в данном случае приведение типа класса к заданному типу int. Определение конвертера описывает, что означает преобразование и какие действия компилятор должен выполнить для его применения. Для объекта SmallInt смысл преобразования в int заключается в том, чтобы вернуть число типа int, хранящееся в члене value.

Теперь объект класса SmallInt можно использовать всюду, где допустимо использование int. Если предположить, что перегруженных операторов больше нет и в SmallInt определен конвертер в int, операция сложения
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.