If I am not wrong the C++ is barely used in embedded
programming , C is the facto language.
So I want to ask : what is the real advantage of C++ classes
which is the main difference to C ?
'C' is only used by diehards. There's no advantage to using a C compiler instead of a C++ compiler unless the C++ compiler for your platform is rubbish (which barely happens these days as they all use GCC).
From the language point of view, objects can usually organize your work much better.
Example: Imagine you have 5 RGB LEDs connected, each with its own color and pin mapping. Each of those is clearly an object and will map nicely to a C++ struct.
You can program it in C with structs but every function to manipulate them will need a pointer to the LED's struct. Guess what? This is exactly what C++ is doing anyway, but neater.
Embedded programming is probably going to use an intermediate level between C and C++. It isn't going to use the full facilities of C++ (like STL, namespaces, RAII, etc.). You'll probably have more global variables than a purist would like, etc. That's fair enough because the programs being written are small.
If you restrict yourself to pure C then you lose that ability to choose a level. Things like LED objects are C++ but they make perfect sense. Why wouldn't you allow yourself to use them?