#include <vector>
#include <memory>
class Interface
{
};

class Class : public Interface
{
};

int main() {
    
    std::vector<std::shared_ptr<Class>> a;
    std::vector<std::shared_ptr<Interface>> b (a.begin(), a.end());
    
    std::shared_ptr<Class> c1;
    std::shared_ptr<Interface> i1=c1;
}