Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Основы Visual C++
Урок 12. Конструкторы и деструкторы

Среди методов класса есть два специальных, которые называются конструктором и деструктором (вообще то конструкторов может быть несколько, но об этом позже). Методы класса можно называть как угодно, но для конструктора и деструктора правило особое. Имя конструктора всегда совпадает с именем класса, а имя деструктора - это тильда (~) плюс имя класса. Скажем, для класса из прошлого урока конструктор будет называться CMyClass, а деструктор - ~CMyClass. Конструктор вызывается автоматически при создании экземпляра класса, деструктор - при его уничтожении. Давайте добавим в наш класс конструктор и деструктор. Для этого сначала напишите в теле класса строки:

class CMyClass{
 
 public:
 
     ...
 
     CMyClass();  //конструктор
 
     ~CMyClass(); //деструктор
 
 }

В конце файла напишите реализацию:

CMyClass::CMyClass(){
 
     cout<<"This is constructor\n";
 
 }
 
 CMyClass::~CMyClass(){
 
     cout<<"This is destructor\n";
 
 }

Запустите программу. Результат будет выглядеть так:

Результат

Как видите, конструктор и деструктор выполнились, хотя мы их и не вызывали.

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

Давайте теперь слегка изменим функцию main():

void main(){
 
     CMyClass a, b;
 
     ...
 
 

Теперь у нас два экземпляря класса CMyClass, и при запуске программы для каждого из них выполнится свой конструктор и свой деструктор:

Результат

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS