Вопрос по с++
Инициализация объекта (переменной типа класса) - это вызов конструктора, причем если это массив из N объектов, то для каждого из них будет вызван свой конструктор, то есть будет N вызовов конструктора. Если параметры конструктора не указаны, то будет вызван конструктор по умолчанию (без параметров).
В аналогичных случаях с переменными других типов, например, double, требуется просто инициализировать внешнюю переменную при объявлении, чтобы не выдавалось сообщение об ошибке.Не путай описание с объявлением. Все переменные инициализируются в описании (кроме тех, которые не инициализируются вообще). Объекты инициализируются всегда, то есть независимо от наличия явного вызова конструктора инициализация будет выполнена.
Вообще-то программа написана, скажем так, с некоторыми огрехами. Не то чтобы критичными, на результат, может быть, даже не влияющими, но грабли (потенциально) есть.
Если нужно, чтобы массив был доступен вне функции main, создай лучше динамический маасив и инициализируй его в main операцией new.
ты имхо не прав.
фигли так текст "разъездил"?
спасибо!
Оставить комментарий
laptew
Я хочу сделать в проге переменную типа vector внешней. vector - название класса. При запуске программы получаю ошибку "error LNK2001: unresolved external symbol "class vector * v" (?@@A)". В аналогичных случаях с переменными других типов, например, double, требуется просто инициализировать внешнюю переменную при объявлении, чтобы не выдавалось сообщение об ошибке. Но как инициализировать при объявлении переменную типа созданного класса?Вот код