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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

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