Characteristic classes associated to complex vector bundles.

For a complex vector bundle $E \to X$, the Chern classes $c_i(E) \in H^{2i}(X; \mathbb{Z})$ can be defined axiomatically:

  1. $c_0(E) = 1$,
  2. if $f : Y \to X$ is continuous, $c_i(f^*E) = f^*c_i(E)$,
  3. $c(E\oplus F) = c(E)\cup c(F)$ where $c$ is the total Chern class: $c(E) = c_0(E) + c_1(E) + \dots$
  4. if $\gamma_1 \to \mathbb{CP}^1$ is the tautological bundle, $c_1(\gamma_1)$ is the negative of the generator of $H^2(\mathbb{CP}^1; \mathbb{Z})$ given by the standard orientation.

These axioms uniquely define Chern classes, but there are many different constructions - the classifying space approach is outlined in the tag wiki for the tag. See this question which asks for proofs of the equivalence of several of these approaches.