Автор: Пользователь скрыл имя, 25 Октября 2011 в 14:01, практическая работа
1.Определить пользовательский класс в соответствии с вариантом задания (смотри приложение).
2.Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3.Определить в классе деструктор.
4.Определить в классе компоненты-функции для просмотра и установки полей данных.
5.Определить указатель на компоненту-функцию.
6.Определить указатель на экземпляр класса.
Міністерство освіти і науки, молоді та спорту України
Криворізький державний педагогічний університет
Фізико-математичний
факультет
Об’єктно-орієнтоване програмування
Звіт
з лабораторної роботи
№1
Кривий
Ріг – 2011
Порядок выполнения работы.
1.Определить
пользовательский класс в
2.Определить
в классе следующие
3.Определить в классе деструктор.
4.Определить
в классе компоненты-функции
5.Определить
указатель на компоненту-
6.Определить указатель на экземпляр класса.
7.Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения( какой объект какой конструктор или деструктор вызвал).
8.Показать
в программе использование указателя
на объект и указателя на компоненту-функцию.
Описания
членов-данных пользовательских
классов
Вариант 2
СЛУЖАЩИЙ
рабочий стаж - int
возраст - int
имя – char*
#include <string.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
const int LNAME=25;
class slujaschiy
{
char Name[LNAME]; // имя
int Vozrast; // возраст
int Staj; // стаж
public:
slujaschiy() // конструктор без параметров
{
strcpy (Name,"DIGITAL");
Vozrast=25;
Staj=10;
}
slujaschiy(char* n,int c,int p) // конструктор с параметрами
{
strcpy( Name,n);
Vozrast=c;
Staj=p;
cout<<"konstruktor
s parametrami!!!!"<<endl<<endl<<
}
slujaschiy(slujaschiy&s)
{ Vozrast=s.GetVozrast();
Staj=s.GetStaj();
cout<<"konstruktor kopirovaniya:"<<endl<<endl<<
}
~slujaschiy() // деструктор
{
cout<<"destruktor
"<<endl<<endl<<endl;
}
char * GetName() {return Name;}; //получить имя служащего
int GetVozrast() {return Vozrast;}; //получить возраст служащего
float GetStaj() {return Staj;}; // получить стаж служащего
void SetName(char* n) //установить имя
{ strcpy( Name, n); }
void SetVozrast(int c) // установить возраст
{ Vozrast=c; }
void SetStaj(int p) // установить стаж
{ Staj=p; }
void Set(char,int,int); //вывести
void Show();
void input() //функция ввода с клавиатуры
{ cout<<endl<<"VVedite imia slujaschego:";
cin>>Name;
cout<<endl<<"Vvedite Vozrast slujaschego:";
cin>>Vozrast;
cout<<endl<<"Vvedite staj rabotu slujaschego:";
cin>>Staj;
cout<<endl<<endl<<endl;
}
void print() //функция вывода на екран
{
cout<<"Name slujaschego:"<<Name<<
endl<<"Vozrast slujaschego:"<<Vozrast<<
endl<<"Staj rabotu slujaschego:"<<Staj<<endl<<
}
};
void main ()
{
slujaschiy z; // без параметра
z.SetName("slujaschiy");
z.print();
z.input();
slujaschiy y("Some name",5,12.5); // с параметром
y.print();
slujaschiy w(z); // копирование
w.print();
slujaschiy *m=new slujaschiy; // деструктор
m->input();
m->print();
delete m;
getch();
}