Студопедия — R.12.1 Конструкторы
Студопедия Главная Случайная страница Обратная связь

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

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



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

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