Re[11]: Почему нельзя писать void ctor();
От: CRT  
Дата: 26.04.17 08:47
Оценка:
Здравствуйте, rg45, Вы писали:


CRT>>а это не выглядит как вызов метода конструктора.


R>A если так?

R>
R>int obj = int(1024);
R>



Так — выглядит. Выглядит как вызов конструктора а потом присвоение. Только так со встроенными типами очень мало кто пишет. Зачем для инта вызывать конструктор? Да многие даже не знают что у int он как бы есть.

CRT>>это воспринимается как совмещение двух операций

CRT>>
CRT>>int obj;
CRT>>obj = 1024;
CRT>>


R>Что тебе мешает и в случае с пользовательским типом думать об этом как о совмещении двух операций?


Ничего не мешает. В том-то и проблема. Многие так и думают поначалу. А потом удивляются, почему оператор присвоения, который они определили для своего класса, не срабатывает в записи
A obj=A(1024)
Отредактировано 26.04.2017 9:07 CRT . Предыдущая версия . Еще …
Отредактировано 26.04.2017 8:54 CRT . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.