The similarity of Elixir with Ruby is only there on a superficial level (i.e. the syntax 'at a glance').
I'd say you might even be better off knowing Python, because Python already uses some more functional approaches to some of their 'best practices'.
Also, the Zen of Python is a simple list of code writing rules that (intentionally or unintentionally?) Elixir and most of its common libraries seem to follow.
As for Python vs Ruby: Python allows for about 3/4 of the (syntactic sugar-rich) manipulations that Ruby allows. Whether this means that 'Ruby is more powerful' or that 'Python is more maintainable' is a constant source of debate.
I wonder why you feel that Python is closer to C++ than Ruby in paradigm. Please elaborate .
Learning an object-oriented (in the 'everything is an object' sense) language next to already knowing a class-oriented language (C++, Java) is definitely a great idea.
However, I have to agree with @jeramyRR that learning something radically different might expand your horizons more rigorously. If you already know C++ well, there's no real need to learn C. But learning Rust definitely is a good idea.
Also, I'd like to share some love for Haskell here. If there's a language that will restructure your programmatic thinking, it is Haskell .