As others have said, I think you need a more solid understanding of how C++ works before you can reasonably work with a higher-level question like this. Some good resources have been posted already; also, here is a playlist of videos where I go over a variety of C++ concepts starting from basics and working to more advanced things (with the assumption that you already know C).
To directly address your question, yes C++ has OOP, but it is not the same as in Java. The biggest difference comes from the fact that Java is garbage-collected, while C++ is not; this is what allows one to just create objects in Java and forget about them. In C++, some additional care needs to be taken to ensure that things work as you expect.
Also, C++ is a notoriously complicated programming language with lots of syntax and obscure features, so it’s easy to get lost in that instead of trying to solve the problem at hand. While OOP is great, it’s not necessary for everything, and it’s also not the best answer for everything. While I would definitely create a PID class for use in my own code, don’t feel as though you need to do the same in yours; “normal” style code works fine. That being said, it’s a great introductory example to learn how OOP in C++ works.
Best of luck.