Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Еа класс имеет конструктор то он вызывается автоматически при создан объекта класса поэтому все объекты к

Работа добавлена на сайт samzan.net:


Конструкторы

Для инициализации объектов класса используются специальные функции-члены - конструкторы. Имя конструктора совпадает с именем класса. Конструктор не возвращает никакого значения, даже уо1с1. Еа класс имеет конструктор, то он вызывается автоматически при создан! объекта класса, поэтому все объекты класса будут проинициализированы.

class Date{

 int d,m,y;    

public:

 Date(int =0,int =0,int =0);    //конструктор

 void Add_Year(int n);        

 void Add_Day();             

 void Print();

};

#include<iostream.h>

void Date::Print()

{

 cout<<d<<'.'<<m<<'.'<<y;

}

int leap(int year)

{

 return (year % 4==0 && year % 100!=0) || year%400==0;

}

void Date::Add_Year(int n)

{

 if(m==2 && d==29 && leap(y+n)!=1){  

   m=3;                               

   d=1;                              

 }                                  

 y+=n;

}

char daytab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

     {0,31,29,31,30,31,30,31,31,30,31,30,31}

    };

void Date::Add_Day()        

{

 if(d<daytab[leap(y)][m])   //если не последний день месяца

   d++;        //увеличить номер дня

 else if(m<12){  //…если последний день месяца, но не года

  d=1;m++;       //первое число следующего месяца 

 }

 else{       //если последний день года

   d=1;m=1;y++;  //1января следующего года

 }

}

//реализация конструктора

#include<dos.h>

Date::Date(int dd,int mm,int yy)     //значения аргументов по умолчанию

{                               //второй раз не указываются

 date sysd;   

 getdate(&sysd);     

 d=dd?dd:sysd.da_day;   

m=mm?mm:sysd.da_mon;  

 y=yy?yy:sysd.da_year;  

}

#include<conio.h>

int main()

{

 Date Studies(1,9,2007);  

 cout<<"€исходная дата: ";

 Studies.Print();cout<<endl;

 Studies.Add_Year(5);    

 cout<<"через 5 лет: ";

 Studies.Print();cout<<endl;

 Date Today;  //использование конструктора по умолчанию

 cout<<"сегодня: ";

 Today.Print();cout<<endl;

 Today.Add_Day();  

 cout<<"завтра : ";

 Today.Print();cout<<endl;

 Date D(29,2,2000);

 cout<<"интересная дата: ";

 D.Print();cout<<endl;

 D.Add_Day();

 cout<<"следующий день: ";

 D.Print();cout<<endl;

 getch();

 return 0;

}




1. Контрольная работа 1
2. классики Л. С. Выготский П
3. ОБНОВЛЕНИЕ ГУМАНИТАРНОГО ОБРАЗОВАНИЯ В РОССИИ МОСКВА
4. психологічних явищ виникаючих в процесі її формування і функціонування на основі становлення внутрішніх зв
5. 1064 1062 5740 58462 ГК 0
6. на тему- Совершенствование нормирования организации труда на предприятиях лесного
7. Реферат на тему- ldquo;ЖанПоль Маратrdquo;
8. Российское предпринимательское право Предмет и метод РПП
9. Психологические особенности личности супругов с сексуальной дисгармонией
10. . Роль двигательного анализаторав развитии речевой деятельности [4
11.  Ад Будет Здесь Когда окажется много людей способных ко Злу некоторые из них те что будут более все
12. воспитательного процесса с конкретным контингентом занимающихся
13. И безвинная корчилась Русь
14. Те кто первым делом моют голову личности артистичные
15. Я уезжаю в Бостон завтра
16. . Реклама а неличное стимулирование 2.
17. сдвиг каретки вправо б сдвиг каретки влево б стирание символа в обозреваемом секторе если помечен vб
18. Экологическая надежность техногенных подземных каверн
19. Реферат по истории Карибский кризис 1962 г.html
20. Контрольная работа- Интразональная растительность умеренного пояса