Разработка класса пользователя. Разработка простейших классов пользователя.

Страницы работы

Содержание работы

Министерство Образования и науки Российской Федерации

Комсомольский-на-Амуре Государственный Технический Университет

Кафедра МОП ЭВМ

Лабораторная работа №15

по дисциплине «Программирование»

«Разработка класса пользователя»

Выполнил: Домбровский Г.В.

Группа: 4ВС-1

Проверил: Петров Ю.А.

Комсомольск-на-Амуре

2005

Цель работы:

·  Научиться разрабатывать простейшие классы пользователя;

·  Научиться пользоваться новым потоком ввода / вывода;

·  Научиться использовать манипуляторы при форматированном вводе / выводе.

      Задание: Разработать собственный класс, в котором имеются закрытые и открытые переменные и функции, конструкторы и деструктор. Конструкторы должны инициализировать переменные различными способами. Использовать перегрузку функций и операций. Предусмотреть ввод / вывод  с использованием потока iostream с использованием манипуляторов. Предметная область может быть любая.

CLASSES.cpp

#include<iostream.h>

#include<math.h>

#include<conio.h>

class vector

{//объявление закрытых переменных класса

private:

int x,y,z;

int lx,ly,lz;

public: //открытые элементы

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

vector(); //конструктор по умолчанию

vector(int,int); //конструктор инициализации

vector(int,int,int); //конструктор инициализации

vector(const vector &vvod);  //конструктор копирования

//член-функции класса

void result(); //функция вывода координат вектора

void lenvec(); //функция расчёта и вывода длины вектора

//дружественные функции

friend istream &operator>>(istream &, vector &); //перегрузка оператора >>

friend ostream &operator<<(ostream &, vector &); //перегрузка оператора <<

friend vector operator+(vector &, vector &); //перегрузка операции сложения

friend vector operator*(vector &, vector &); //перегрузка операции умножения

~vector(); //деструктор

};

vector::vector() { };

vector::vector(int ins1, int ins2)

{

x=ins1;

y=ins2;

z=0;

lx=ins1*ins1;

ly=ins2*ins2;

lz=0;

}

vector::vector(int ins1, int ins2, int ins3)

{

x=ins1;

y=ins2;

z=ins3;

lx=ins1*ins1;

ly=ins2*ins2;

lz=ins3*ins3;

}

vector::vector(const vector &vvod)

{

x=vvod.x;

y=vvod.y;

z=vvod.z;

lx=vvod.x*vvod.x;

ly=vvod.y*vvod.y;

lz=vvod.z*vvod.z;

}

void vector::result()

{

cout<<endl<<"Координаты вектора :"<<" "<<x<<" "<<y<<" "<<z;

}

void vector::lenvec()

{

cout<<endl<<"Длина вектора : "<<sqrt(lx+ly+lz);

}

istream &operator>>(istream &fi, vector &fp)

{

fi>>fp.x>>fp.y>>fp.z;

fp.lx=fp.x*fp.x;

fp.ly=fp.y*fp.y;

fp.lz=fp.z*fp.z;

return fi;

}

ostream &operator<<(ostream &fo, vector &fp)

{

fo<<endl<<fp.x<<" "<<fp.y<<" "<<fp.z;

return fo;

}

vector operator+(vector &slag1, vector &slag2)

{

return vector(slag1.x+slag2.x,slag1.y+slag2.y,slag1.z+slag2.z);

}

vector operator*(vector &slag1, vector &slag2)

{

return vector(slag1.x*slag2.x,slag1.y*slag2.y,slag1.z*slag2.z);

}

vector::~vector() { };

void main()

{clrscr();

vector a;

cout<<"Введите координаты вектора"<<endl;

cin>>a; //Ввод координат вектора а с клавиатуры

cout<<"Вектор а. ";

a.result();

a.lenvec();

vector b(a); // применение конструктора копирования

cout<<endl<<endl<<"Вектор  b: "<<b;

b.lenvec();

vector c(3,6,7); //применение конструктора инициализации для трех переменных

cout<<endl<<endl<<"Вектор с. ";

c.result();

c.lenvec();

getch();

vector d(4,11); //применение конструктора инициализации для двух переменных

cout<<endl<<endl<<"Вектор d.";

d.result();

d.lenvec();

vector i(a+c); //сложение координат векторов

cout<<endl<<endl<<"Вектор i (i=a+c).";

i.result();

i.lenvec();

vector j(b*d); //умножение координат векторов

cout<<endl<<endl<<"Вектор j (j=b*d).";

j.result();

j.lenvec();

getch();

}

Результат работы программы.

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
54 Kb
Скачали:
0