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

Тема-Створення віртуальних функцій

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

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

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

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

от 25%

Подписываем

договор

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

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

PAGE 4

Лабораторна робота №9

Тема:Створення віртуальних функцій.

Мета : Навчитись використовувати вiртуальнi функції у програмах.


Завдання:


Створити абстрактний клас для роботи з геометричною фігурою типу «пряма» на екрані. Передбачити такі функції–методи: показати фігуру на екрані; зробити фігуру невидною (знищити її зображення); повернути фігуру на заданий кут (кут надається у градусах); пересунути фігуру на наданий вектор. Створити похідний клас для роботи з фігурою типу «пряма». Визначити інтерфейсну частину у класах.

Код програми:

#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
#include <math.h>

class Pryamay
{
  int x1,x2,y1,y2;
  int X,Y,r1,r2,k1,k2,W1,W2,Z1,Z2,a;
  public:
virtual void Vvod ();
virtual void Delete ();
virtual void Sdvig ();
virtual void Povorot ();
};
class  Proiz : public Pryamay
{ // int x1,x2,y1,y2,X,Y,r1,r2,k1,k2,W1,W2,Z1,Z2,a;
    public:
  void Vvod ();
  void Delete ();
  void Sdvig ();
  void Povorot ();
};

  int main ()
    {
    Pryamay A;
   char reg;
   for (;;)
   {
    do
    {
     //clrscr ();
   cout<<"\n                   MENU  "<<endl;
   cout<<"          1 - Narisovat' pryamyuy"<<endl;
   cout<<"          2 - Ydalit'"<<endl;
   cout<<"          3 - Sdvinyt'"<<endl;
   cout<<"          4 - Povorot"<<endl;
   cout<<"          5 - vihod"<<endl;
   cout<<"\n Vibereti punkt menu: ";
  cin>>reg;
     }
  while(reg!='1' && reg!='2' && reg!='3' && reg!='4' && reg!='5');
  switch(reg)
  {
   case '1': A.Vvod();  break;
   case '2': A.Delete(); break;
   case '3': A.Sdvig(); break;
   case '4': A.Povorot(); break;
     case '5': exit(0); break;
}
}
getch ();
return 0;
}
void Pryamay :: Vvod()
{
int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
  line (x1,y1,x2,y2);
getch();
// closegraph();
}
  void Pryamay :: Delete()
  {
int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
setfillstyle (EMPTY_FILL, BLACK);
getch();
// closegraph();
}
  void Pryamay :: Sdvig ()
   {
  int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
  line (x1,y1,x2,y2);
cout <<"Vvedite vector  ";
cin >>X;
cin >>Y;
r1=x1+X;
r2=x2+X;
k1=y1+Y;
k2=y2+Y;
setcolor (GREEN);
line (r1,k1,r2,k2);
getch();
// closegraph();
}
void Pryamay :: Povorot ()

//float w1,w2,z1,z2;
   int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
line (x1,y1,x2,y2);
cout <<"Vvedite ygol  ";
cin >> a;
/* w1=x1*cos(a)-y1*sin(a);
w2=x2*cos(a)-y2*sin(a);
z1=x1*sin(a)+y1*cos(a);
z2=x2*sin(a)+y2*cos(a); */
if (a==45)
{
Z2=(x2+x1)-y1;
clrscr ();
  line (x1,y1,x2,Z2);
}
if (a==90)
{ Z2= x2+x1;
clrscr ();
line (x1,y1,x1,Z2);
}
if (a==180)
{
   W2=x1+x2;
   clrscr ();
line (W2,y1,x1,y1);
}
getch();
// closegraph();
}




1. Че Гевара
2. Мир духов
3. а. Единица измерения веса в СИ ньютон иногда используется единица СГС дина
4. Деловая этика на зачете собеседование по контрольной работе теоретический
5. Применение и лечение
6. ТЕМАХ приглашает Вас принять участие в работе научнопрактической конференции которая будет проходить
7. Реферат- Приём выведения общих правил (на примере причины меандрирования рек)
8. реферат дисертації на здобуття наукового ступеня кандидата сільськогосподарських наук2
9. Владимир Муранов
10.  Питание как одна из составляющих жизнедеятельности человеческого организма