Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- class A {
- private:
- double *w;
- short len;
- public:
- A(short m){
- double w[m];
- len = m;
- }
- virtual double foo(short a);
- short getLen() {
- return w[i%len];
- }
- protected:
- double get(short i);
- };
- class B : public A {
- private:
- int p;
- public:
- B(short m, int x);
- double foo(short a) {
- return sum(a)/p;
- }
- protected:
- double sum(short s) {
- for (int i = s%len; i<m; i++) {
- sum =+ w[i];
- }
- return sum;
- }
- };
- template < class C : public A, typename T >
- private:
- T(x);
- public:
- C(short n) {
- if (x == short)
- int x = n;
- else
- int x = log(1+(sin(n))^2);
- }
- double foo(short r) {
- return g(r);
- }
- T g(T(k)) {
- return 2*x*(k+1);
- }
- int main () {
- srand(111222333);
- A *vett[50];
- for (int i=0; i<50; i++) {
- short n=1+rand()%10;
- switch (rand()%3) {
- case 0:
- vett[i] = new B(n, rand()%10+1);
- break;
- case 1:
- vett[i] = new C<double>(n);
- break;
- case 2:
- vett[i] = new C<short>(n);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement