Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Опишите синтаксис конструктора.↑ ⇐ ПредыдущаяСтр 7 из 7 Содержание книги
Поиск на нашем сайте
Конструктор – это метод класса, выполняющийся автоматически в момент создания объекта. Используется для выделения дин.области памяти либо задания начального значения полей класса. class <название класса> Об особенностях… В синтаксисе выше используется краткое обозначение [:<…>]{<…>}, которое можно рассматривать как: <.> - тело конструктора / деструктора. [:<…>] – эта часть может отсутствовать, если она есть, то её синтаксис: <имя переменной 1> (<значение переменной 1>), <имя переменной 2> (<значение переменной 2>), <…> В данной части происходит инициализация переменных. class A { public: A(список параметров); } A:: A(список параметров) { } Особенности: конструктор ничего не возвращает,т.е. не указывается тип, который возвращает, хотя на самом деле он возвращает объект класса и имеет название, совпадающее с именем класса. Укажите способы доступа к полям и методам класса. . - позволяет ссылке на объект получить доступ к полю структуры (класса). Пример: -> - позволяет ссылке на объект получить доступ к полю структуры (класса). Зачем нужны методы с модификатором const? и как они используются. Когда метод не изменяет поля объекта, для которого он вызван, желательно в конце написать const void func () const { …} пример из перегрузки операторов: inline Chislo Chislo::operator + (const Chislo & c) const { Chislo m; m.mi = mi + c.mi; m.ma = ma + c.ma; return m;} Как определить константный объект? Какие методы доступа применимы к нему? Если объект класса объявлен с модификатором const, он становится недоступным для изменения. Это означает, что для такого объекта можно вызвать только константные методы, поскольку только они гарантируют, что объект не будет изменен. int main() { const MyClass obj; … } Какой параметр скрыто передается методу класса? Опишите использование ключевого слова this. Функции-члены класса (за исключением статических) получают в дополнение к списку параметров еще и неявный указатель this - адрес "своего" объекта, того, с которым они вызваны и поля которого они должны обрабатывать. Ключевое слово "this" представляет собой указатель на текущий объект класса. Методы класса могут использовать ключевое слово this чтобы получить указатель на объект для которого вызван данный метод. Указатель this представляет собой постоянную величину, мы не можем изменять его значение в своей программе. class my { int a; … public: my(могут быть параметры); //конструктор- без типа, совпадает с именем класса void b() { this->a=0; } … };
Можно ли построить класс без конструктора? Как в этом случае описать объекты класса? Если в классе не определить конструктор (хотя бы один), тогда компилятор создаст конструктор по умолчанию. Можно будет дать возможность пользователю изменять переменные самостоятельно, или же определить функции, которые будут изменять значения переменных. Определить конструктор в закрытой части можно. В этом случае доступ к конструктору может получить только дружественный класс, который должен быть объявлен как дружественный в объявлении данного класса. Когда вызывается конструктор? Наследуется ли конструктор? Укажите синтаксис списка инициализаций при вызове конструктора. Можно ли определить конструктор в закрытой секции? Можно ли явно вызвать конструктор? Конструктор вызывается в момент создания объекта. Конструктор не наследуется. class my { const int a,b,c; public: my(могут быть параметры): a(5),b(3),c(4){}; … }; Определить конструктор в закрытой части можно. Оно компилится. Вот тока ни один объект создать не получится. Нет, вызвать явно конструктор нельзя.
|
||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 365; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.42.234 (0.006 с.) |