home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / emx / test / test2.cc < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-04  |  1.3 KB  |  94 lines

  1. #include <iostream.h>
  2.  
  3.  
  4. enum click {Down, Up};
  5.  
  6. class Window
  7. {
  8. public:
  9.   int handle;
  10.   Window();
  11.   virtual ~Window();
  12.   void Event(enum click event);
  13.   virtual void ButtonDown(void);
  14.   virtual void ButtonUp(void);
  15. };
  16.  
  17. Window::Window()
  18. {
  19.   cout << "Window constructor called\n";
  20.   handle = 1;
  21. }
  22.  
  23. Window::~Window()
  24. {
  25.   cout << "Window destructor called\n";
  26. }
  27.  
  28. void Window::Event(enum click event)
  29. {
  30.   event == Down ? ButtonDown() : ButtonUp();
  31. }
  32.  
  33. void Window::ButtonDown(void)
  34. {
  35.   cout << "Window::ButtonDown() called\n";
  36. }
  37.  
  38. void Window::ButtonUp(void)
  39. {
  40.   cout << "Window::ButtonUp() called\n";
  41. }
  42.  
  43.  
  44. class MyWindow : public Window
  45. {
  46. public:
  47.   MyWindow();
  48.   virtual ~MyWindow();
  49.   virtual void ButtonDown(void);
  50. };
  51.  
  52. MyWindow::MyWindow()
  53. {
  54.   cout << "MyWindow constructor called\n";
  55.   handle = 2;
  56. }
  57.  
  58. MyWindow::~MyWindow()
  59. {
  60.   cout << "MyWindow destructor called\n";
  61. }
  62.  
  63. void MyWindow::ButtonDown(void)
  64. {
  65.   cout << "MyWindow::ButtonDown() called\n";
  66. }
  67.  
  68.  
  69. Window sWindow;
  70. MyWindow sMyWindow;
  71.  
  72.  
  73. int main(void)
  74. {
  75.   Window Test;
  76.   MyWindow MyTest;
  77.   MyWindow *pMyTest;
  78.  
  79.   cout << "Main called\n";
  80.  
  81.   pMyTest = new MyWindow;
  82.  
  83.   Test.Event(Down);
  84.   Test.Event(Up);
  85.   MyTest.Event(Down);
  86.   MyTest.Event(Up);
  87.  
  88.   delete pMyTest;
  89.  
  90.   cout << "Main left\n";
  91.  
  92.   return 0;
  93. }
  94.