Pergunta de entrevista da empresa RTX

Why would we want to use these specific design patterns? (Singleton, Builder, Factory) In C++ what is the difference between a struct and a class?