Реферат: Объективное программирование
day = x.da_day ;
}
//------ Деструктор ------------------------------------------dat::~dat()
{
printf("Дата ==> %2d-%2d-%4d\n",day,month,year);
}
//------------------------------------------------------dat a("12-12-1990"); // Внешняя переменная - конструктор
// вызывается перед main()
dat b[10]; // Массив объектов - конструктор без
// параметров вызывается перед main()
void xxx(dat &p)
{
dat c(12,12); // Вызывается Конструктор dat(int,int,int)
// для автоматического объекта
dat d = p; // Конструктор для автоматического объекта не
... // вызывается, т.к. объект инициализируется
... // копированием
} // При выходе из функции вызываются деструкторы
// для объектов c и d
void main()
{
int i,n;
scanf("%d",&n);
dat *p = new dat[n]; // Создание массива динамических объектов // конструктор без параметров явно вызывается
for (i=0; i<10; i++) // n раз
xxx(b[i]); // При вызове неявно передается ссылка на b[i]
for (i=0; i< n; i++) //
xxx(p[i]) // При вызове неявно передается ссылка на p[i]
delete[n] p; // Уничтожение массива динамических объектов // деструктор явно вызывается n раз