Problema 98

#include <iostream>
using namespace std;


class A {
    int x;

public:
    A(int i = 2)
        : x(i)
    {
    }
    int get_x() const { return x; }
};
class B : public A {

    int* y;

public:
    B(int i = 2)
        : A(i)
    {
        y = new int[i];
        for (int j = 0; j < i; j++)
            y[j] = 1;
    }
    B(B& b)
    {
        y = new int[b.get_x()];
        for (int i = 0; i < b.get_x(); i++)
            y[i] = b[i];
    }
    int& operator[](int i) const { return y[i]; }
};
ostream& operator<<(ostream& o, const B b)
{
    for (int i = 0; i < b.get_x(); i++)
        o << b[i];
    return o;
}



int main()
{
    const B b(5);
    cout << b;
    return 0;
}