I understand the usual modern examples of object-oriented programming, such as defining an Animal class and reusing it for different kinds of cats. But object-oriented programming and languages such as Simula and Smalltalk existed before OOP became common in mainstream software, and C++ began developing around 1979. What problems were these ideas originally intended to solve? What kinds of programs used OOP in the 1960s, 1970s, and early 1980s, when computers had far fewer resources than they do today?
4 Answers
The short answer is that it was used for essentially the same reason as today: managing complexity. Computers may have had less memory and slower processors, but people were still building complicated systems. OOP groups related state and behavior together, hides implementation details, and provides abstractions that make large programs easier to organize.
The earliest major example is Simula, created for simulations. A program could represent ships, passengers, weather, terrain, or other entities as separate objects that interacted with one another. Smalltalk later developed a broader version of the idea, centered heavily around objects sending messages to each other. C++ came later and combined object-oriented features inspired by Simula with C's speed, portability, and low-level control.
Graphical user interfaces became one of the most visible and successful uses of OOP in the 1980s and 1990s. A window could contain views, a button could inherit common behavior from a control, and a specialized button could override only the parts it needed to change. The same approach worked well for menus, text fields, dialogs, and other reusable widgets.
Business software was another strong fit. Classes such as Customer, Order, Account, and Employee could each contain the data and operations relevant to that concept. These are simplified teaching examples, but the underlying idea—organizing a large application around cooperating components—was very practical.
It is worth separating the general idea from modern class-heavy programming. OOP did not begin with the familiar Animal and Cat examples, and it was not invented because computers were powerful. Early languages and systems were already dealing with complicated problems; they simply had fewer tools for expressing them.
Simula introduced many object-oriented ideas in the 1960s, while Smalltalk explored objects, encapsulation, and message passing in a more thorough way. C++ became popular because it offered similar organizational benefits while remaining suitable for systems programming. The exact features and terminology changed over time, but the motivation was always to make complex software easier to model and maintain.
C++ was initially developed at Bell Labs to help write large simulations and systems software. The goal was not mainly to create game characters; it was to make difficult programs easier to express without giving up the performance and hardware access of C.
Typical early applications included telecommunications, distributed systems, scientific and engineering simulations, statistics, astronomy, weather modeling, and military simulations. Treating a ship, vehicle, molecule, or communications component as an entity with its own data and operations could be much clearer than keeping all the state in one enormous collection of unrelated variables and procedures.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically