I am writing this program to draw a sphere, I am having problems with the draw function which is giving me an error(bold). Can anyone help me to write the draw function for this program.

also, I want to have the user input the values for x,y, z, and radius. I now that I have to put a cout asking for the values and cin to get the values in main or maybe I can use get. Can anyone give me an idea how to work this out.

here is the code

Code:#include <iostream> #include <math.h> #include <iomanip> #include <stdio.h> #define PI 3.1415927 using namespace std; class point { public: point(const float xx, const float yy, const float zz) { x=xx; y=yy; z=zz; } point(const point &p) { x = p.getX(); y = p.getY(); z = p.getZ(); } point() { x = y = z = 0.0; } float getX() const { return x; } float getY() const { return y; } float getZ() const { return z; } private: float x,y,z; }; class shape3d { public: shape3d(const point &pp) { p = pp; } shape3d(const float x, const float y, const float z) { p = point(x,y,z); } point getPoint() const { return p; } virtual float getVolume() const = 0;//virtual void draw( shape3d *todraw) const { todraw->draw(); }private: point p; }; class sphere: public shape3d { public: sphere(const point &p, const float r):shape3d(p) { radius = r; } float getRadius() const { return radius; } float getVolume() const { return 3.0*(PI*radius*radius*radius)/4.0; }//error: draw function doesn't take 0 parameters virtual void draw( sphere *todraw) const { todraw->draw(); }private: float radius; }; main() { point p = point (0,0,0); sphere s = sphere (p,50);//error: draw function doesn't take 0 parameters s.draw();return 0; }