// std::vector no necesita un constructor sin argumentos para push_back: separa reservar de construir.
#include <iostream>
#include <string>
#include <vector>

class Student {
public:
    explicit Student(const std::string& name) : name_(name) {}
    const std::string& name() const {
        return name_;
    }

private:
    std::string name_;
};

int main() {
    std::vector<Student> students;
    students.push_back(Student("Ana"));
    std::cout << students[0].name() << "\n";
    return 0;
}
