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

R>Здравствуйте, Кнопка, Вы писали:


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


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

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

К>>Оммм...?

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

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


Сори, не дочиталась в стандарте...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.