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

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

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

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 27.12.2024

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

Для инициализации объектов класса используются специальные функции-члены - конструкторы. Имя конструктора совпадает с именем класса. Конструктор не возвращает никакого значения, даже уо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. Защита от оружия массового поражения
2. великих реформ
3. Тема 1 Понятие задачи система и принципы уголовного права
4. Без измерения линий не обходится ни одна геодезическая работа
5. Поздовжня стійкість автопоїзда на підйомі
6. ПАРТИИ ВЛАСТИ НАКАНУНЕ И В ПЕРИОД ПРЕДВЫБОРНОЙ КАМПАНИИ В СОБРАНИЕ ДЕПУТАТОВ г
7. Платон и Аристотель
8. Создание HTML-таблиц
9. Обнажать душу так же неприлично как обнажать тело
10. Уголовный закон Российской Федерации
11. Особое производство понятие признаки особенности
12. the group phenomen which do not require ny explntion since there re similr phenomen in the mother tongue the word order in sentences Birds fly
13. тема является весьма актуальной и важной для всего мира т
14. ИнГео.14 3.2 Открытие растра14 3
15. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Київ2005
16.  Ж~ктерді кодтау ж~йесі Теміржолмен к~лігімен тасымалданатын ж~ктер Ж~ктерді~ ~ндестірілген номенклат
17. Разработка технологической программы выращивания цветочных культур (нарцисс и цикламен)
18. Московский подшипник ГПЗ12.html
19.  Под углом наклона прямой понимается наименьший угол на который нужно повернуть вокруг точки пересечения
20. поле создаваемое электрическим зарядом