Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
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 chanting in the Monastery: (8)
As of 2014-07-11 08:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (222 votes), past polls