как реализовать конструкицию типа v.resize<20>() через шаблон?

Необходимо изменить размерность вектора v через шаблон, чтобы получился вызов такого типа v.resize<20>(). Как это объявить в классе с++?


Ответы (1 шт):

Автор решения: AR Hovsepyan

Наверняка это для проверки вашего знания о том, что наследник есть разновидность типа и наследует все открытые члены, с возможностью изменить их(или спрятать).

template <class T>
struct Vector :
    public std::vector<T> 
{   
    template <size_t n>
    void resize() { this->resize(n); }
};

int main() {    
    Vector<int> v;
    v.resize<5>();
    return 0;
}
→ Ссылка