Re[3]: Еще раз о конструкторах
От: rg45 СССР  
Дата: 06.10.11 11:07
Оценка:
Здравствуйте, Кнопка, Вы писали:

Z>>
К>>>int main()
К>>>{
К>>>  A a();
К>>>}
Z>>


К>>>Почему не вызывается конструктор?

Z>>потому что это объвление функции "a" не принимающией параметров и возвращающей экземпляр класс A

К>Оммм...?

К>A a(5); эт тоже визов функции, да?)

А вот это уже конструирование объекта. В отличие от исходной, последняя конструкция не может трактоваться как-то иначе. Конструкция, приведенная тобой вначале может трактоваться двояко: либо как определение и инициализация объекта, либо как объявление функции. Стандарт языка предписывает разрешать эту неоднозначность в пользу второго варианта, т.е. объявления функции.
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.