File: func_overload_multi.ck

package info (click to toggle)
chuck 1.5.5.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,056 kB
  • sloc: cpp: 123,473; ansic: 35,893; javascript: 2,111; yacc: 609; makefile: 457; python: 174; perl: 86
file content (49 lines) | stat: -rw-r--r-- 567 bytes parent folder | download | duplicates (8)
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
// func_overload_multi.ck : function overloading

fun void bar()
{
    <<<1>>>;
}

fun void bar( int i )
{
    <<<2>>>;
}

fun void bar( string s )
{
    <<<3>>>;
}

class X
{
    fun void foo()
    { <<<"X.foo()">>>; }

    fun void foo( int i )
    { <<<"X.foo(int)">>>; }

    fun void foo( int a, int b )
    { <<<"X.foo(int, int)">>>; }
}

class Y extends X
{
    fun void foo()
    { <<<"Y.foo()">>>; }

    fun void foo( int a, int b )
    { <<<"Y.foo(int, int)">>>; }
}

Y y;
y.foo();
y.foo( 1 );
y.foo( 1, 2 );

X x;
x.foo( 1, 2 );

bar();
bar(1);
bar("a");