Информатика и технология программирования


           

Стандартная функция получения текущей


&#35include &#60dos.h&#62
static int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

class dat
{
int day,month,year;
public:
dat(int=0,int=0,int=0); // Конструктор с параметрами

// (возможно умолчание)

dat(char *); // Конструктор с одним параметром

~dat(); // Деструктор

};
//------- Конструктор с параметром - текстовая строка -----

dat::dat(char *s)
{
int i;
char ss[80];
strcpy(ss,s);
for (i=0; ss[i] !=0; i++)
if (ss[i]=='-') ss[i]=','; // Замена '-' на ','

sscanf(ss,"%d%d%d",&#38day,&#38month,&#38year);
}
//------ Конструктор с тремя параметрами ------------------

// (по умолчанию 0 - текущая дата)

dat::dat(int d=0, int m=0, int y=0)
{
struct date x;
getdate(&#38x); // Стандартная функция получения текущей даты

// Проверка на значение по умолчанию

year = (y == 0) ? x.da_year : y;
month= (m == 0) ? x.da_mon : m;
day = (d == 0) ? x.da_day : d;
}
//------ Деструктор --------------------------------------

dat::~dat()
{
cout &#62&#62 "Дата ==&#62" &#62&#62 day &#62&#62 " -" &#62&#62 month &#62&#62 " -" &#62&#62 year;
}
//----------------------------------------------------------

dat a("12-12-1990"); // Внешний объект - конструктор

// вызывается перед main()

dat b[10]; // Массив объектов - конструктор без

// параметров вызывается перед main()

void xxx(dat &#38p)
{
dat c(12,12); // Вызывается конструктор dat(int,int,int)

// для автоматического объекта

dat d = p; // Конструктор для автоматического объекта не

// вызывается, т.к. объект инициализируется

} // копированием

// При выходе из функции вызываются

void main() // деструкторы для объектов c и d

{ int i,n;
cin &#60&#60 n;
dat *p = new dat[n]; // Создание массива динамических объектов -

// конструктор без параметров явно вызывается

// n раз

delete [n] p; // Уничтожение массива динамических объектов -

// деструктор явно вызывается n раз

} // Деструкторы для a и b[10] вызываются после

// выхода из main()


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий