Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. #include<iostream>
  2. #include<ctime>
  3. #include<cstdlib>
  4. #include <clocale>
  5.  
  6.  
  7. #define interface struct
  8. //#include"Header.h"
  9.  
  10. using namespace std;
  11.  
  12.  
  13. interface IX {
  14.     virtual void _stdcall FX1() = 0;
  15.     virtual void _stdcall FX2() = 0;
  16. };
  17. class CA :public IX {
  18. public:
  19.     virtual void _stdcall FX1() { cout << "CA::FX1" << endl; }
  20.     virtual void _stdcall FX2() { cout << "CA::FX2" << endl; }
  21. };
  22. class CB :public IX {
  23. public:
  24.     virtual void _stdcall FX1() { cout << "CB::FX1" << endl; }
  25.     virtual void _stdcall FX2() { cout << "CB::FX2" << endl; }
  26. };
  27. void ff(IX& pix)
  28. {
  29.     pix.FX1();
  30.     pix.FX2();
  31. }
  32. int main()
  33. {
  34.     setlocale(LC_ALL, "rus");
  35.  
  36.     CA pA;
  37.     CB pB;
  38.     IX* pix;
  39.  
  40.     pix = &pA;
  41.     pix->ff(); //вызов методов CA
  42.  
  43.  
  44.  
  45.  
  46.     pix = &pB;
  47.     ff(*pix); //вызов методов СB
  48.  
  49.     system("pause");
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement