summaryrefslogtreecommitdiff
path: root/trunk/Examples/pike/overload/runme.pike
blob: d30e947b3e1324e2bf1e0b282add1adbcf2fb352 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// import .example;

int main()
{
	// This should invoke foo(double)
	.example.foo(3.14159);

	// This should invoke foo(double, char *)
	.example.foo(3.14159, "Pi");

	// This should invoke foo(int, int)
	.example.foo(3, 4);

	//  This should invoke foo(char *)
	.example.foo("This is a test");

	// This should invoke foo(long)
	.example.foo(42);

	/*
	// This should invoke Bar::Bar() followed by foo(Bar *)
	foo(Bar.new);

	// Skip a line
	write("\n");

	// This should invoke Bar::Bar(double)
	Bar.new(3.14159);

	// This should invoke Bar::Bar(double, char *)
	Bar.new(3.14159, "Pi");

	// This should invoke Bar::Bar(int, int)
	Bar.new(3, 4);

	// This should invoke Bar::Bar(char *)
	Bar.new("This is a test");

	// This should invoke Bar::Bar(int)
	Bar.new(42);

	// This should invoke Bar::Bar() for the input argument,
	// followed by Bar::Bar(const Bar&).
	Bar.new(Bar.new);

	// Skip a line
	write("\n");
	*/

	// Construct a new Bar instance (invokes Bar::Bar())
	/*
	bar = Bar.new;

	// This should invoke Bar::foo(double)
	bar.foo(3.14159);

	// This should invoke Bar::foo(double, char *)
	bar.foo(3.14159, "Pi");

	// This should invoke Bar::foo(int, int)
	bar.foo(3, 4);

	// This should invoke Bar::foo(char *)
	bar.foo("This is a test");

	// This should invoke Bar::foo(int)
	bar.foo(42);

	// This should invoke Bar::Bar() to construct the input
	// argument, followed by Bar::foo(Bar *).
	bar.foo(Example::Bar.new);

	// This should invoke Bar::spam(int x, int y, int z)
	bar.spam(1);

	// This should invoke Bar::spam(double x, int y, int z)
	bar.spam(3.14159);
	*/

   	write("Goodbye\n");
    
   	return 0;
}