Que es la Sobrecarga

Supongamos que queremos escribir un módulo que permite trabajar con números en punto flotante de tamaño arbitrario. Su uso sería algo así:

#!/usr/bin/perl -w
use strict;
use Math::BigFloat;

my $a = Math::BigFloat->new('123_456_789_123_456_789');
my $y = $a->copy()/1_000_000_000;

print "a = $a\n";
print "-a = ",-$a,"\n";
print "y = $y\n";
print "a+y = ",$a+$y,"\n";
cuya ejecución nos da:
$ ./bigfloat.pl
a = 123456789123456789
-a = -123456789123456789
y = 123456789.123456789
a+y = 123456789246913578.123456789
y queremos que el módulo, como ilustra el ejemplo, sobrecargue las operaciones binarias y unarias usuales así como el uso de las constantes.

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19