Object Oriented Programming is a basically abstraction method. It give us more modularized data.
For instance if we need to know whether a student registered a lesson, we could use procedural programming and we would create another function to check it. And I would perfectly work well but the thing is if somehow this logic changes it might affect the whole program provided we used that registering information in somewhere.
On the other hand if we used oop instead of procedural programming, we just had to create another function in the class. And we would achieve it with a precise change.
It gives us more reuseability, easy to maintain, easy to fix, easy to debug and easy to test.
In little applications that won’t exist for long it is probably a better idea to use procedural programming since it oop makes program more larger in size and -since there is a lot in behind the scenes -, slower. But this is not particularly the case for C++ since it’s most efficient oop language out there.