// Justin C. Miller
// University of Wisconsin Oshkosh
// Made for: http://www.geocities.com/neonprimetime.geo/index.html
// Date: 3-29-2001
// Borland Builder 4.0


#include 
#include 

class Circle{
        private:
                double radius ;
        public:
                Circle(){radius = 1 ;}
                Circle(double r){radius = r ;}
                friend ostream& operator<<(ostream& output, const Circle& c){
		        output << "Radius = " << c.radius << endl ;
        		return output ;  // must return the output object
                        // if you want to have multiple << to work in a row
                        // for example cout << a << b << c << d ;
                        // wouldn't work unless your return output!!! (trust me!)
               	}
                friend istream& operator>>(istream& input, Circle& c){
                        cin >> c.radius ;
                        return input ; // must return the input object
                        // for mulitple inputs for example
                        // cin >> a >> b
                        // won't work unless you return input (trust me!)
               	}
};

int main(){
        Circle a ;
        Circle b(15) ;

        cout << a << b ; // overloaded << (insertion operators)

        cout << "please enter radius 1" << endl ;
        cin >> a ;  // overloaded >> (extraction operators)
        cout << "please enter radius 2" << endl ;
        cin >> b ;  // overloaded >> (extraction operators)

        cout << a << b ; // overloaded << (insertion operators)

        getch() ;

        return 0 ;
}

    Source: geocities.com/neonprimetime.geo/cpp/cpp_SourceCode

               ( geocities.com/neonprimetime.geo/cpp)                   ( geocities.com/neonprimetime.geo)