Advertisement
Guest User

Untitled

a guest
Jul 24th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. class A {
  7. private:
  8. double *w;
  9. short len;
  10.  
  11. public:
  12. A(short m){
  13. double w[m];
  14. len = m;
  15. }
  16. virtual double foo(short a);
  17. short getLen() {
  18. return w[i%len];
  19. }
  20.  
  21. protected:
  22. double get(short i);
  23. };
  24.  
  25. class B : public A {
  26. private:
  27. int p;
  28.  
  29. public:
  30. B(short m, int x);
  31. double foo(short a) {
  32. return sum(a)/p;
  33. }
  34.  
  35. protected:
  36. double sum(short s) {
  37. for (int i = s%len; i<m; i++) {
  38. sum =+ w[i];
  39. }
  40. return sum;
  41. }
  42.  
  43. };
  44.  
  45. template < class C : public A, typename T >
  46.  
  47. private:
  48. T(x);
  49.  
  50. public:
  51. C(short n) {
  52. if (x == short)
  53. int x = n;
  54. else
  55. int x = log(1+(sin(n))^2);
  56. }
  57.  
  58. double foo(short r) {
  59. return g(r);
  60. }
  61.  
  62. T g(T(k)) {
  63. return 2*x*(k+1);
  64. }
  65.  
  66.  
  67. int main () {
  68. srand(111222333);
  69. A *vett[50];
  70. for (int i=0; i<50; i++) {
  71. short n=1+rand()%10;
  72. switch (rand()%3) {
  73. case 0:
  74. vett[i] = new B(n, rand()%10+1);
  75. break;
  76. case 1:
  77. vett[i] = new C<double>(n);
  78. break;
  79. case 2:
  80. vett[i] = new C<short>(n);
  81. }
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement