Использование конструкторов и деструкторов

Совместное использование конструкторов и деструкторов нередко приводит к неожиданным результатам. Обратите внимание, что в конструкторе и де­структоре, помимо текстового сообщения о создании или удалении объекта, указывается также и его адрес. Адрес объекта в обработке получается с помощью указателя this. Такой подход удобен, поскольку позволяет отслеживать создание и удаление различных объектов. Результатом выполнения программы будет последовательность сообщений (адреса объектов могут меняться от запуска к запуску, однако в соответствующих местах адреса все равно будут совпадать):
#include 
using namespace std;
class MyClass{
public:
int m,n;
//Конструктор класса:
MyClass(int a,int b){
m=a;
n=b;
cout << "Object " << this << " has been created" << endl;
cout << "m = " << m << endl;
cout << "n = " << n << endl;
}
//Деструктор класса:
~MyClass(){
cout << "Object " << this << " has been deleted" << endl;}
};
//В функции создается объект:
MyClass MyFunc(int x,int y){
MyClass tmp(x,y);
return tmp;}
int main(){
//Создание объекта:
MyClass obj(1,2);
//Изменение объекта:
obj=MyFunc(3,4);
return 0;
}
Онлайн всего: 7
Гостей: 7
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте