Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
797 / 527 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
1

Можно ли присвоить объекту основного типа значение объекта пользовательского типа?

03.08.2015, 15:33. Просмотров 465. Ответов 5
Метки нет (Все метки)

Правильно ли я понимаю, что
C++
1
2
SomeClass obj;
int x = obj;
или
C++
1
2
SomeClass obj;
int x = 5 + obj;
можно осуществить, перегрузив операцию преобразования к типу int в классе Someclass?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2015, 15:33
Ответы с готовыми решениями:

Как присвоить значение одного из элементов массива типа char переменной типа int?
С++ начал буквально только что так что буду благодарен за терпение и понимание ) Сразу оговорюсь...

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать...

Ошибка: "Значение типа float нельзя присвоить сущности типа int"
При компиляции в Visual C++ получается такая ошибка: "Значение типа float нельзя присвоить сущности...

Cout like: перегрузить оператор<< по примеру объекта cout для extern объекта пользовательского типа
Мне нужен extern объект по примеру cout с перегруженным оператором. Я нечто подобное сделал, только...

5
Эксперт С++
8164 / 3766 / 809
Регистрация: 15.11.2014
Сообщений: 8,549
03.08.2015, 15:39 2
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
можно осуществить, перегрузив операцию преобразования к типу int в классе Someclass?
верно
0
797 / 527 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
03.08.2015, 15:42  [ТС] 3
Цитата Сообщение от hoggy Посмотреть сообщение
верно
Хогги, спасибо)
0
45 / 40 / 20
Регистрация: 17.03.2014
Сообщений: 128
03.08.2015, 15:45 4
Преобразования возможны в обе стороны. Для приведения пользовательского типа к основному достаточно в классе описать функцию перевода.
Исходник с примером:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyInt
{
    int value;
public:
    explicit MyInt(int n = 0): value(n)
    {}
 
    operator int() const
    { return this->value; }
};
 
int main()
{
    MyInt obj1(10);
    int a = obj1;
    return 0;
}
0
797 / 527 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
03.08.2015, 15:48  [ТС] 5
kaznachei67, в твоем случае еще надо перегружать операцию (=) для присваивания
0
45 / 40 / 20
Регистрация: 17.03.2014
Сообщений: 128
03.08.2015, 15:56 6
С какой целью? В данном примере на конструктор возложена функция приведения основного типа к пользовательскому, а не оператор перевода - приведение от пользовательского к основному. Перегрузить оператор присваивания, конечно, можно, но это будет излишне
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2015, 15:56

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

Как полю класса типа char* присвоить значение типа *char
Проблема в строчке 46 (не пинайте сильно за формат кода и за говнокод) #include &quot;stdafx.h&quot; ...

Error: значение типа "const char" нельзя присвоить сущности типа "double"
#include &lt;iostream&gt; #include &lt;iomanip&gt;// using namespace std; void main(void) { const int...

Значение типа "const wchar_t *" нельзя присвоить сущности типа "LPWSTR"
Здравствуйте! Что нужно поменять в настройках проекта, чтобы исправить эту ошибку? ...

Значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
как исправить эту ошибку значение типа &quot;char *&quot; нельзя присвоить сущности типа &quot;LPWSTR&quot;


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

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

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