A Programming Paradigm is a model of programming based on the distinct concepts that shapes the way programmers design, organize and write programs.

A MULTI-PARADIGM PROGAMMING LANGUAGE allows  programmers to choose a specific single approach or mix parts of different programming paradigms.

C++ as a multi-paradigm programming language supports single or mixed approaches using Procedural or Object-oriented programming  and mixing in utilizations of Generic and even Functional programming concepts.