>What exactly is a stack and what does it do?
It's a data structure where you can only add and remove items (termed push and pop respectively) to the top of the stack. For instance, if you have the stack

1 2 3 4 5

and you wanted to push 6 the result would be

6 1 2 3 4 5

When you want to pop, the last value pushed is removed, in this case, 6.

>And how do I program mouse interativity with C++?
Use an API such as DirectX.