Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Basic Objects with Overloaded Operators

by perlmonkey (Hermit)
on Apr 20, 2000 at 00:32 UTC ( #8076=perltutorial: print w/ replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
    package Complex;
    use Carp;
    
    ...
            return $self->[$position] = $value;
        }
    }
    
  2. or download this
    use Complex;
    #create a new object
    my $x = new Complex;
    ...
    $x->Imag(-5);                #set $x's imaginary part to '-5'
    
    print $x->Real." ".$y->Imag; #prints '3 -3'
    
  3. or download this
    use overload
        "\"\"" => \&Cmp_string,
        "+"    => \&Cmp_add,
        "*"    => \&Cmp_multiply;
    
  4. or download this
        print $x;             #prints '3 - 5I'
        my $str = "$x";       #$str = '3 - 5I'
    
  5. or download this
        $x = $x + $y;
        $y = $x + 2;
        $y =  2 + $x;
    
  6. or download this
        $y = $x * $x;
        $y = $x * 2;
        $y =  2 * $x;
    
  7. or download this
    sub Cmp_string
    {
        #get the object
    ...
        #   arithmetic    
        return new Complex($real, $imag);
    }
    
  8. or download this
    package Complex;
    use Carp;
    use strict;
    ...
    
    #module exit status
    1;
    

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perltutorial [id://8076]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (12)
As of 2014-09-01 08:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (299 votes), past polls