Вход Регистрация
* Pelmeshka

Шаблон проектирования

  1. class IMath {
  2. public:
  3. virtual double add ( double x, double y ) = 0 ;
  4. virtual double sub (double x, double y ) = 0;
  5. virtual double mul (double x, double y ) = 0;
  6. virtual double div (double x, double y ) = 0;
  7. };
  8.  
  9. class Math : public IMath {
  10. public:
  11. double add( double x, double y ) {
  12. return x + y ;
  13. }
  14.  
  15. double sub(double x, double y ) {
  16. return x - y ;
  17. }
  18.  
  19. double mul (double x, double y ) {
  20. return x * y ;
  21. }
  22.  
  23. double div(double x, double y ) {
  24. return x / y ;
  25. }
  26. };
  27.  
  28. class MathProxy : public IMath {
  29. public:
  30. double add( double x, double y ) {
  31. return math. add (x, y ) ;
  32. }
  33.  
  34. double sub(double x, double y ) {
  35. return math. sub(x, y );
  36. }
  37.  
  38. double mul (double x, double y ) {
  39. return math. mul (x, y );
  40. }
  41.  
  42. double div(double x, double y ) {
  43. return math. div(x, y );
  44. }
  45.  
  46. private :
  47. Math math;
  48. };
  49.  
  50. #include <iostream>
  51.  
  52. using std ::cout ;
  53. using std ::endl ;
  54.  
  55. int main() {
  56.  
  57. // Create math proxy
  58. MathProxy p ;
  59.  
  60. // Do the math
  61. cout << "4 + 2 = " << p.add ( 4, 2) << endl ;
  62. cout << "4 - 2 = " << p. sub( 4, 2) << endl ;
  63. cout << "4 * 2 = " << p.mul (4, 2) << endl ;
  64. cout << "4 / 2 = " << p. div(4 , 2) << endl ;
  65.  
  66. return 0;
  67. }
» Описание: Шаблон Proxy — шаблон проектирования, который предоставляет объект, который
контролирует доступ к др
» Время добавления: 11 Ноября 2014 в 15:25
» Посмотров: 2274
» textarea
» Рейтинг: [+1 | -0]
Комментарии [3]
Онлайн: 2
Реклама