When you pass a variable that isn't a pointer to a function (your input function, line 31), you can't actually make changes to that variable from within that function. The reason why your program doesn't work is that the input function doesn't actually change the values of height and radius. What you can do is merge input and setUp into a single function. That way, you can remove height and radius from your main() function, reduce the variables passed to setUp to just the pointer to an object of type Cone, and have it actually work.
but like Ispil says you arent storing the height and radius values at the end of your input function.
'height' & 'radius' inside your input method are in effect local variables. You can see this is you put a breakpoint on line 26 and examine the values of height and radius here. You'll see that you are pushing garbage values into your setup function.