Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 20:31, лабораторная работа
Цель работы:
Изучить основы объектно-ориентированного программирования на алгоритмическом языке С++. Получить представление об организации инкапсуляции, наследования и полиморфизма.
Порядок выполнения работы
1. Изучить предлагаемую программу изображения элементарных графических образов. Исследовать порядок наследования.
2. Ввести в схему наследования новый класс графической фигуры предложенный преподавателем.
3. В разрабатываемом классе графической фигуры определить атрибуты и сделать их полями класса.
};
template<class Element> void Vector<Element>::sort()
{
int i=0; Element zn1;
do
{
zn1=array[i];
zn1.Sort();
i++;
} while (i<size);
i--;
for(int j = i; j<size-1; j++)
if(array[j]>array[j+1])
{
}
}
template<class Element> void Vector<Element>::
{
cout << "\nArray " << ima << ": " << endl;
for(int i=0; i<size; i++)
cout << array[i] << endl;
}
template<class Element>
Vector<Element>& Vector<Element>::operator=(
{
if(array != NULL)
delete[] array;
size = arg2.size;
array = new Element[size];
for(int i=0; i<size; i++)
array[i] = arg2.array[i];
return *this;
}
template<class Element>
int Vector<Element>::operator<(
{
int isLess = 1;
int minSize = size<arg2.size ? size : arg2.size;
for(int i=0; i<minSize; i++)
{
if((*this)[i] > arg2[i])
{
isLess = 0;
break;
}
}
return isLess;
}
struct Complex
{
double re,im;
Complex()
{
re=im=0.0;
}
Complex(double x, double y)
{
re = x;
im = y;
}
Complex& operator = (Complex & arg2)
{
re = arg2.re;
im = arg2.im;
return *this;
}
};
int operator == (Complex &arg1, Complex & arg2)
{
return ((arg1.re == arg2.re)&&(arg1.im == arg2.im));
}
int operator > (Complex &arg1, Complex &arg2)
{
return (arg1.re*arg1.re+arg1.im*arg1.
}
int operator < (Complex &arg1, Complex &arg2)
{
return (arg1.re*arg1.re+arg1.im*arg1.
}
ostream& operator << (ostream &arg1, Complex &arg2)
{
return arg1 << "(" << arg2.re << ((arg2.im < 0) ?"":"+") << arg2.im << "i)";
}
int main()
{
clrscr();
cout << "\nTest for template Vector" << endl;
Vector<ArrayWithIterance<
ArrayWithIterance<Complex> cAWI1, cAWI2, cAWI3;
randomize();
for (int i=0; i<7; i++)
{
cAWI1.Push(Complex(random(6),
cAWI2.Push(Complex(random(6),-
cAWI3.Push(Complex(random(6),
}
vect1[0] = cAWI1;
vect1[1] = cAWI2;
vect2[0] = cAWI3;
vect1.outputToScreen(1);
vect2.outputToScreen(2);
cout <<"\n Сравнение множеств по сумме элементов:"<< endl;
char tf1[20] = "";
if (vect1 < vect2)
strcat(tf1,"TRUE!!!");
else
strcat(tf1,"FALSE!!!");
cout << "\n vect1 < vect2 = "<< tf1 << endl;
cout << "\n vect2 = vect1 "<< endl;
vect2 = vect1;
vect1.outputToScreen(1);
vect2.outputToScreen(2);
getch();
return 0;
}
Информация о работе Отчет по лабораторным работам по "Технологии программирования"