I have a Circle class,and there are two derived classes from this base class. They are class: Sphere and class:cylnder.
Of class Sphere - it has a public function that calls a public function from Circle for the radius. Do I need to list the Sphere function as a friend in Circle class, or is inheritance enough for this.
IMO you should not do inheritance or friends between these 2 at all. Inheritance implies an IS A relation: a sphere is not a circle. Have a look at the Liskov Subtitution Principle:
class DrawingEntity;
class Shape2D : public DrawingEntity;
class Solid3D : public DrawingEntity;
class Circle : public Shape2D;
class Sphere : public Solid3D;
OP: you could also consider containment in that both sphere and cylinder 'contains' a circle, thereby passing the radius of the circle to the ctor's of these types: