Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Конструктор - это специальная элемент-функция, служащая для инициализации элементов-данных объекта класса. Конструкторы можно разделить на конструкторы инициализации и копирования.
Конструктор характеризуется следующими свойствами:
- напоминает обычную функцию, но с именем, совпадающим с именем класса, и без типа возвращаемого значения;
- автоматически вызывается компилятором при объявлении объекта класса; если конструктор отсутствует, то компилятор генерирует конструктор по умолчанию (без параметров), так как он может вызывать конструкторы базовых классов, если они есть;
- не может быть const, static, virtual и не наследуется;
- использует два способа инициализации элементов-данных: списком инициализации и телом конструктора; элементы-константы и ссылки инициализируются только списком.
Пример:
class akt
{
int tabn;
float objem;
public: //инициализация списком //инициализация телом
akt(int x, float y): tabn(x), objem(y) //akt(int x,float y)
{} //tabn=x objem=y //{tabn=x; objem=y;}
};
main() //}
{
akt obj1(1,100000);//x=1 y=100000
}
Конструктор копирования служит для инициализации нового объекта класса значениями другого объекта того же класса, т.е. для копирования задаваемых элементов-данных одного объекта в другой
Деструктор служит для уничтожения объектов класса. Деструктор характеризуется следующими свойствами:
- имеет имя класса с префиксом-тильдой (~) и не имеет возвращаемого значения и параметров, например, ~akt();
- автоматически вызывается компилятором при выходе из области видимости или при выполнении операции delete для объектов, размещенных в динамической памяти при помощи операции new;
- не может быть const, static, virtual, и не наследуется.
Дата публикования: 2014-11-26; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!