Загрузка данных


#include <vector>
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

class VectorRF
{
    int* data;
    int col;
    int cap;
    void resize()
    {
        cap++;
        int* new_data = new int(cap);
        for (int i = 0;i < col;i++)
            new_data[i] = data[i];
        delete data;
        data = new_data;
    }
    void resize2()
    {
        cap+=2;
        int* new_data = new int(cap+1);
        for (int i = 0;i < col;i++)
            new_data[i+1] = data[i];
        delete[] data;
        data = new_data;
    }
public:
    VectorRF()
    {
        col = 0;
        cap = 1;
        data = new int(cap);
    }
    int size()
    {
        return col;
    }
    int clear()
    {
        delete[]data;
        VectorRF();
    }
    void v_zad(int val)
    {
        resize();
        data[col++] = val;
    }
    void v_nach(int val)
    {
        resize2();
        data[0] = val;
        col++;
    }
    int& at(int index)
    {
        if (index < 0 || index >= col)
            throw"Index out of range";
        return data[index];

    }
    int& operator[](int index)//запись и чтение
    {
        return data[index];
    }
    const int& operator[](int index) const// чтение
    {
        return data[index];
    }
};
//class Student
//{
//    string name;
//    int age;
//    string group;
//public:
//    Student(string n, int a, string g) : name(n), age(a), group(g) {}
//
//    string operator[](const string ind)
//    {
//        if (ind == "name")
//            return name;
//        if (ind == "age")
//            return to_string(age);
//        if (ind == "group")
//            return group;
//    }
    //---- через кейсы
    //string operator[](int index)
    //{
    //    switch (index)
    //    {
    //    case 0:return name;
    //    case 1:return to_string(age);
    //    case 2:return group;
    //    }
    //}
//};
int main()
{
    setlocale(LC_ALL, "RU");
    VectorRF vec;
    vec.v_zad(5);
    vec.v_nach(2);
    vec.at(0);
    cout << vec.at(0);

    //Student s("Tom", 20, "RPO");
    //string sr;
    //cin >> sr;
    //cout << s[sr];
    
}