The lambda calculus not only has no +
operator, but also lacks natural numbers. All it has are functions. The idea is to represent a natural as a specific function, and then define another addition-function to perform addition on said natural-functions (called numerals).
A natural number $n$ is represented as $\lambda sz. s(s(s(s \ldots z)))$ where there are exactly $n$ application of $s$ inside. Roughly, this representation makes $n$ to be written as a function operator that takes function $s$ and returns its $n$-th iterate $s^n = s \circ s \circ \ldots$.
After that, one can define a successor operation as $Succ = \lambda nsz. s(nsz)$. You can verify that reducing $Succ\ n$ when $n$ is a numeral will lead to the next numeral.
Similalrly, addition can be coded as repeated successor e.g. $Add = \lambda nm. n\ Succ\ m$. Again, one can verify that it operates as expected on numerals.
In this way we can walk a long run and slowly build all basic arithmetics and simulate natural numbers. We can also encode booleans, strings, and other standard data types using suitable functions. Eventually, we also define fixed point combinators that allow us to form recursive functions. After that we can write a lambda term that can simulate the execution of a Turing machine, so proving the Turing completeness of the language.
Regarding the question on the "X-calculus". Yes, you can definitely invent your model. You must define what are the "programs" in your model (e.g. the set of lambda terms, the set of Turing machines, the set of strings of the form $XXX\cdots$, etc.). Then you must associate them with a semantics. How do you run your programs? You need to define a semantic relation to formalize "this program computes this naturals-to-naturals function". After that, you have a model of computation and can check whether it's Turing powerful or not.