Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.12.1 Конструкторы





Конструктором называется функция-член, имя которой совпадает с именемкласса, он используется для построения значений, имеющих тип данногокласса. Если в классе есть конструктор, то каждый объект этого классаперед произвольным использованием будет инициализироваться, см.$$R.12.6. Конструктор может вызываться для объекта со спецификацией constили volatile. Сам конструктор нельзя описывать со спецификациейconst или volatile ($$R.9.3.1). Конструктор также не может иметьспецификацию virtual или static. Конструкторы не наследуются, однако, стандартные конструкторыи конструкторы копирования при необходимости создаются транслятором($$R.12.8). Такие конструкторы являются общими. Стандартным конструктором для класса X является такой конструкторкласса X, который можно вызывать без параметров. Стандартныйконструктор для класса X будет создан только тогда, когда для классаX не описано ни одного конструктора. Конструктором копирования для класса X называется конструктор,который вызывается для копирования объекта класса X, т.е. вызываетсяс одним параметром типа X. Например, X::X(const X&) иX::X(X&, int=0) являются конструкторами копирования. Конструкторкопирования создается только тогда, когда не описано ни одногоконструктора копирования. Конструктор копирования для класса X не должен иметь в качествепараметра объект типа X, например X::X(X) незаконное обращение. Конструктор для массива элементов вызывается в порядкевозрастания адресов элементов ($$R.8.2.4). Если у класса есть базовые классы с конструктором или члены,являющиеся объектами с конструктором, их конструкторы вызываютсяпрежде, чем конструктор производного класса. В $$R.12.6.2 объясняетсякак задаются параметры для таких конструкторов и как определяетсяпорядок их вызова. Объект класса с конструктором не может быть членом объединения. Для конструктора не нужно указывать никакого типа возвращаемогозначения, даже void. В операторе return в теле конструктора нельзяуказывать возвращаемое значение. Не допустима операция взятияадреса конструктора. Конструктор можно явно использовать для создания объектов еготипа с помощью следующей записи: имя-класса (список-выражений opt)Приведем пример: complex zz = complex(1,2.3); print(complex(7.8,1.2)); Объект, созданный таким образом является безымянным (если толькоконструктор не использовался для инициализации поименованной переменнойкак zz выше), а время его жизни ограничено выражением, в которомон был создан, см. $$R.12.2. В конструкторе можно вызывать функцию-член, см. $$R.12.7.







Дата добавления: 2015-09-04; просмотров: 336. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия