Advertisement
Domerk

Классы из курсача - черновик

Nov 29th, 2013
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // elements.h
  2.  
  3. #ifndef ELEMENTS_H
  4. #define ELEMENTS_H
  5.  
  6. #include <QtGui>
  7.  
  8. class Point
  9. {
  10. protected:
  11.     int x; //координаты точки
  12.     int y;
  13. public:
  14.     Point(int nx = 0,int ny = 0); //конструктор
  15.     void show(QPainter* painter); //функция, отображающая точку
  16.  
  17. };
  18.  
  19. class Car : public QObject // машинка
  20. {
  21. private:
  22.     int position; // метоположение (?) - наследовать машинку от точки???
  23.     short int Turn; // значение поворота, которое должна сделать машинка
  24. public:
  25.     Car (); // конструктор
  26.     void show(QPainter *painter); // рисовалка
  27. };
  28.  
  29. class TrafficLight : public QObject // светофор
  30. {
  31. protected:
  32.     int position; // метоположение
  33.     int Traffic_Color;
  34. public:
  35.     void light (int nt_red, int nt_yellow, int nt_green); // светить, принимает время, через которое должен сменяться сигнал
  36.     void show(QPainter *painter); // рисовалка
  37.     void sendSignal();
  38. signals:
  39.     void sendColor(int Traffic_Color);
  40.  
  41. };
  42.  
  43. #endif // ELEMENTS_H
  44.  
  45.  
  46. //elements.cpp
  47.  
  48. #include "elements.h"
  49.  
  50.  
  51. //====================================================
  52. Point::Point(int nx, int ny)
  53. {
  54.     if ((nx > 0)&&(ny > 0))
  55.     {
  56.         x = nx;
  57.         y = ny;
  58.     }
  59. }
  60. //====================================================
  61. void Point::show(QPainter *painter)
  62. {
  63.     painter->setPen(QPen(Qt::green,1)); //устанавливаем цвет и толщину
  64.                                             // карандаша
  65.     painter->drawPoint(QPoint(x,y)); //рисуем точку
  66. }
  67. //====================================================
  68.  
  69. void TrafficLight::sendSignal()
  70. {
  71.    emit sendColor(Traffic_Color);
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement