git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5435 626c5289-ae23-0410-ae9c-e8d60b6d4f22
51 lines
1.5 KiB
Perl
51 lines
1.5 KiB
Perl
# Example using pointers to member functions
|
|
|
|
use example;
|
|
|
|
# Get the pointers
|
|
|
|
$area_pt = example::areapt();
|
|
$perim_pt = example::perimeterpt();
|
|
|
|
print "area_pt =", $area_pt, "\n";
|
|
print "perim_pt = ", $perim_pt, "\n";
|
|
|
|
# Create some objects
|
|
|
|
$c = new example::Circle(4);
|
|
$s = new example::Square(10);
|
|
|
|
# Do some calculations
|
|
|
|
print "Circle area = ", example::do_op($c,$area_pt), "\n";
|
|
print "Circle perim = ", example::do_op($c,$perim_pt), "\n";
|
|
print "Square area = ", example::do_op($s,$area_pt), "\n";
|
|
print "Square perim = ", example::do_op($s,$perim_pt), "\n";
|
|
|
|
print "areavar =", $example::areavar, "\n";
|
|
print "perimetervar =", $example::perimetervar, "\n";
|
|
|
|
# Try the variables
|
|
print "Circle area = ", example::do_op($c,$example::areavar), "\n";
|
|
print "Circle perim = ", example::do_op($c,$example::perimetervar), "\n";
|
|
print "Square area = ", example::do_op($s,$example::areavar), "\n";
|
|
print "Square perim = ", example::do_op($s,$example::perimetervar), "\n";
|
|
|
|
# Modify one of the variables
|
|
$example::areavar = $perim_pt;
|
|
|
|
print "Circle perimeter = ", example::do_op($c,$example::areavar), "\n";
|
|
|
|
# Try the constants
|
|
|
|
print "example.AREAPT =", $example::AREAPT, "\n";
|
|
print "example.PERIMPT=", $example::PERIMPT, "\n";
|
|
print "example.NULLPT =", $example::NULLPT, "\n";
|
|
|
|
print "Circle area = ", example::do_op($c,$example::AREAPT), "\n";
|
|
print "Circle perim = ", example::do_op($c,$example::PERIMPT), "\n";
|
|
print "Square area = ", example::do_op($s,$example::AREAPT), "\n";
|
|
print "Square perim = ", example::do_op($s,$example::PERIMPT), "\n";
|
|
|
|
|
|
|