I've just started to mess about with QISKit on Python and one thing is confusing me a fair bit.
Given that we are building Quantum Circuits what is the need for a classical register ?
Is it because the collapsed state must be classical ?
Once we measure a qubit, we get some classical information out. This is something we need to keep track of. We need it to look at the outputs of our computations, or use them as part of classical control within an algorithm. For that reason, it can be useful to have a specific object in a quantum SDK that keeps track of this classical information, and does so in a way that parallels how qubits are dealt with. This is the approach taken by QISKit.
Quantum computations depend on classical control: A classical computer, driven by a classical algorithm, suffices to apply the quantum gates in sequence. In some algorithms (such as quantum teleportation), the gate to be applied depends on an earlier measurement result. Hence a store for measurement results (and, possibly, calculations using it) is helpful and needed in general.