1
# Example using pointers to member functions
3
catch { load ./example[info sharedlibextension] example}
8
set perim_pt [ perimeterpt ]
10
puts "area_pt = $area_pt"
11
puts "perim_pt = $perim_pt"
15
set c [Circle -args 4]
16
set s [Square -args 10]
18
# Do some calculations
20
puts "Circle area = [do_op $c $area_pt]"
21
puts "Circle perim = [do_op $c $perim_pt]"
22
puts "Square area = [do_op $s $area_pt]"
23
puts "Square perim = [do_op $s $perim_pt]"
25
puts "areavar = $areavar";
26
puts "perimetervar = $perimetervar";
29
puts "Circle area = [do_op $c $areavar]"
30
puts "Circle perim = [do_op $c $perimetervar]"
31
puts "Square area = [do_op $s $areavar]"
32
puts "Square perim = [do_op $s $perimetervar]"
34
# Modify one of the variables
37
puts "Circle perimeter = [do_op $c $areavar]"
41
puts "example.AREAPT = $AREAPT"
42
puts "example.PERIMPT= $PERIMPT"
43
puts "example.NULLPT = $NULLPT"
45
puts "Circle area = [do_op $c $AREAPT]"
46
puts "Circle perim = [do_op $c $PERIMPT]"
47
puts "Square area = [do_op $s $AREAPT]"
48
puts "Square perim = [do_op $s $PERIMPT]"