I would say that a language doesn't necessarily force you to program within a certain paradigm. A paradigm is more of a way of thinking and constructing your program, while a language is a tool which either:
- allows you to code a program in a certain paradigm;
- supports the paradigm of your choise natively, or
- doesn't allow you to do certain things.
C++ allows you to program in the object-oriented style as well as in the procedural style, and, if we consider templates, as jk. said, you can get pretty close to the functional style of programming. Kotlin, arguably, not only allows you to do such things, but also natively supports many features that are required to code in all of the mentioned paradigms. On the other hand, Java doesn't allow you to do pretty much anything except OOP. Maybe some kind of functional-style code is possible if we consider Java 8 streams. It is much easier to do aspect-oriented programming in Java and Kotlin then it is in C++.
Some languages limit you to certain paradigms, the others give you more choices. The price of a choice is obvious: when you have more options, it gets hard to stick to a single paradigm all the time, and your code may quickly start to smell.