I have a question about the definition of the Chern classes. In the lecture my professor defined them the following way:
Let $p:E \to X$ be a complex vector bundle of complex dimension $k$, and denote the underlying real bundle by $E_\mathbb{R}$. We now define the $k$'th Chern class by: $$c_k(E):= e(E_\mathbb{R}) \in H^{2k}(X;\mathbb{Z}).$$ Here $e$ denotes the Euler class. So far so good.
Now we define the total Chern class $c(E)$ as follows:
Denote the canonical line bundle over $\mathbb{CP}^k$ by $\gamma_1^k$. Now $E\otimes \gamma_1^k$ is a bundle over $X \times \mathbb{CP}^k$ (How? How do we take tensor products of vector bundles over different bases spaces? Are my notes wrong?).
Note that $H^{2k}(X\times \mathbb{CP}^k;\mathbb{Z}) \cong \bigoplus_{i=0}^k H^{2i}(X;\mathbb{Z})$ (why is this true?).
We take the Euler class of this tensor product bundle $e(E \otimes \gamma_1^k) \in H^{2k}(X\times \mathbb{CP}^k;\mathbb{Z})$ and define $c(E)$ to be the element in $\bigoplus_{i=0}^k H^{2i}(X;\mathbb{Z})$ corresponding to $e(E \otimes \gamma_1^k)$ through the aforementioned isomorphism.
I don't understand why this definition makes sense (because of the two questions in the text) and I don't see how this definition coincides with the definition given in Milnor-Stasheff for example. Is there perhaps some literature taking the same approach?
Edit: Questions in text solved. However, I would still be interested to see how this definition agrees to the ones more commonly used.