This is a question about using an object-oriented language. I’ve been using C++ to solve Project Euler for a while, and I recently read in an article that a lot of people treat C++ like a procedural language, since you can get away without creating classes. I’ve been doing exactly that.
My question is whether it’s “bad” to just be writing functions in an object-oriented languageint mult_order(int base, int mod) for multiplicative order, gcd(int a, int b) for gcd, but without putting them in a class). I’ve been “reinventing the wheel” a lot for the purpose of learning–should I put them in a library, or create a Math class or something along those lines?
From what I’ve been taught (and what I’ve experienced), the underlying idea behind OOP is a simple one:
Use it when it makes your life easier.
It could easily be the case that, for your purpose, using a class wouldn’t make things easier – you don’t have a reason to repeatedly access a single object that performs these mathematical operations – or creating a class would create unnecessary overhead.
For your example, I think you’ll be fine without objects, but do consider that somewhere in the future, it may be necessary to create an object that can handle those operations.