Здравствуйте, Кнопка, Вы писали:
Z>>К>>>int main()
К>>>{
К>>> A a();
К>>>}
Z>>
К>>>Почему не вызывается конструктор?
Z>>потому что это объвление функции "a" не принимающией параметров и возвращающей экземпляр класс A
К>Оммм...?
К>A a(5); эт тоже визов функции, да?)
А вот это уже конструирование объекта. В отличие от исходной, последняя конструкция не может трактоваться как-то иначе. Конструкция, приведенная тобой вначале может трактоваться двояко: либо как определение и инициализация объекта, либо как объявление функции. Стандарт языка предписывает разрешать эту неоднозначность в пользу второго варианта, т.е. объявления функции.