Министерство образования и науки РФ
ГОУВПО «Комсомольский-на-Амуре государственный технический университет»
Кафедра МОП ЭВМ
«РАЗРАБОТКА КЛАССА ПОЛЬЗОВАТЕЛЯ»
Выполнил: Рогозин В.А.
Группа: 4ВС-1
Проверил: Петров Ю.А.
Комсомольск-на-Амуре
2005
Цель работы:
· Научиться разрабатывать простейшие классы пользователя;
· Научиться пользоваться новым потоком ввода / вывода;
· Научиться использовать манипуляторы при форматированном вводе / выводе.
Задание: Разработать собственный класс, в котором имеются закрытые и открытые переменные и функции, конструкторы и деструктор. Конструкторы должны инициализировать переменные различными способами. Использовать перегрузку функций и операций. Предусмотреть ввод / вывод с использованием потока iostream с использованием манипуляторов. Предметная область может быть любая.
L_15_1.CPP
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
class dengod
{
public:
dengod(int rmes, int rden); //конструкторы
dengod(int rmes);
dengod();
void output(); //член-функция класса
friend void input(dengod& data5); //дружественная ф-я
friend ostream& operator <<(ostream& outputs, dengod& data); //перегрузка оператора <<
private:
int mes;
int den;
void testdate();
};
//----------------------------------void main(void)
{
clrscr();
dengod data1(2), data2(4,3), data, data5;
input(data5);
data.output(); cout<<endl;
data1.output(); cout<<endl;
data2.output(); cout<<endl;
data5.output(); cout<<endl;
cout<<data<<endl;
getch();
}
//----------------------------------dengod::dengod(int rmes,int rden) :mes(rmes), den(rden)
{testdate();}
dengod::dengod(int rmes) :mes(rmes), den(1)
{testdate();}
dengod::dengod() :mes(1), den(1)
{}
//----------------------------------void dengod::testdate()
{
if((mes<1)||(mes>12))
{
cout<<"Неверный номер месяца\n";
getch();
exit(1);
}
if((den<1)||(den>31))
{
cout<<"Неверный номер дня\n";
getch();
exit(1);
}
}
//----------------------------------void input(dengod& data5)
{
cout<<"Введите номер месяца: ";
cin>>data5.mes;
cout<<"Введите номер дня: ";
cin>>data5.den;
data5.testdate();
}
//----------------------------------void dengod::output()
{
cout<<den;
switch(mes)
{
case 1:
cout<<" Января"; break;
case 2:
cout<<" Февраля"; break;
case 3:
cout<<" Марта"; break;
case 4:
cout<<" Апреля"; break;
case 5:
cout<<" Майя"; break;
case 6:
cout<<" Июня"; break;
case 7:
cout<<" Июля"; break;
case 8:
cout<<" Августа"; break;
case 9:
cout<<" Сентяборя"; break;
case 10:
cout<<" Октяборя"; break;
case 11:
cout<<" Нояборя"; break;
case 12:
cout<<" Декаборя"; break;
default:
cout<<" Введен не коректный номер месяца ";
}
}
//---------------------------ostream& operator <<(ostream& outputs, dengod& data)
{
outputs<<data.den;
switch(data.mes)
{
case 1:
outputs<<" Января"; break;
case 2:
outputs<<" Февраля"; break;
case 3:
outputs<<" Марта"; break;
case 4:
outputs<<" Апреля"; break;
case 5:
outputs<<" Майя"; break;
case 6:
outputs<<" Июня"; break;
case 7:
outputs<<" Июля"; break;
case 8:
outputs<<" Августа"; break;
case 9:
outputs<<" Сентяборя"; break;
case 10:
outputs<<" Октяборя"; break;
case 11:
outputs<<" Нояборя"; break;
case 12:
outputs<<" Декаборя"; break;
default:
outputs<<" Введен не коректный номер месяца ";
}
return outputs;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.