#include <cstring>
#include <vector>
using namespace std;

class Sample
{
    protected:
        int* data;
        int size;
    public:
        Sample()
        {
            data = NULL;
        }
        Sample(int dimensionOfData)
        {
            data = new int[dimensionOfData];
            size = dimensionOfData;
        }
        Sample(const Sample& s)
        {
            data = new int[s.size];
            size = s.size;
            memcpy(data, s.data, size*sizeof(int));
        }
        ~Sample()
        {
            if (data)
                delete [] data;
        }
};
class SampleSet
{
    protected:
        Sample* sample;
        vector<Sample> v;
    public:
        SampleSet();
        SampleSet(int numOfSamples, int dimension) :
            v(numOfSamples, Sample(dimension))
    {
        if (v.empty())
            sample = NULL;
        else
            sample = &v[0];
    }
};
int main()
{
    SampleSet ss(4,5);
    return 0;
}


