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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
#include <stddef.h>
class foo {
public:
foo (int);
foo (int, const char *);
foo (foo&);
~foo ();
void foofunc (int);
void foofunc (int, signed char *);
int ifoo;
const char *ccpfoo;
int overload1arg (void);
int overload1arg (char);
int overload1arg (signed char);
int overload1arg (unsigned char);
int overload1arg (short);
int overload1arg (unsigned short);
int overload1arg (int);
int overload1arg (unsigned int);
int overload1arg (long);
int overload1arg (unsigned long);
int overload1arg (float);
int overload1arg (double);
int overloadfnarg (void);
int overloadfnarg (int);
int overloadfnarg (int, int (*) (int));
int overloadargs (int a1);
int overloadargs (int a1, int a2);
int overloadargs (int a1, int a2, int a3);
int overloadargs (int a1, int a2, int a3, int a4);
int overloadargs (int a1, int a2, int a3, int a4, int a5);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8, int a9, int a10);
int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8, int a9, int a10, int a11);
};
void marker1()
{}
int main ()
{
char arg2 = 2;
signed char arg3 =3;
unsigned char arg4 =4;
short arg5 =5;
unsigned short arg6 =6;
int arg7 =7;
unsigned int arg8 =8;
long arg9 =9;
unsigned long arg10 =10;
float arg11 =100.0;
double arg12 = 200.0;
char *str = (char *) "A";
foo foo_instance1(111);
foo foo_instance2(222, str);
foo foo_instance3(foo_instance2);
#ifdef usestubs
set_debug_traps();
breakpoint();
#endif
marker1();
return 0;
}
foo::foo (int i) { ifoo = i; ccpfoo = NULL; }
foo::foo (int i, const char *ccp) { ifoo = i; ccpfoo = ccp; }
foo::foo (foo& afoo) { ifoo = afoo.ifoo; ccpfoo = afoo.ccpfoo;}
foo::~foo () {}
/* Some functions to test overloading by varying one argument type. */
int foo::overload1arg (void) { return 1; }
int foo::overload1arg (char arg) { arg = 0; return 2;}
int foo::overload1arg (signed char arg) { arg = 0; return 3;}
int foo::overload1arg (unsigned char arg) { arg = 0; return 4;}
int foo::overload1arg (short arg) { arg = 0; return 5;}
int foo::overload1arg (unsigned short arg) { arg = 0; return 6;}
int foo::overload1arg (int arg) { arg = 0; return 7;}
int foo::overload1arg (unsigned int arg) { arg = 0; return 8;}
int foo::overload1arg (long arg) { arg = 0; return 9;}
int foo::overload1arg (unsigned long arg) { arg = 0; return 10;}
int foo::overload1arg (float arg) { arg = 0; return 11;}
int foo::overload1arg (double arg) { arg = 0; return 12;}
/* Test to see that we can explicitly request overloaded functions
with function pointers in the prototype. */
int foo::overloadfnarg (void) { return ifoo * 20; }
int foo::overloadfnarg (int arg) { arg = 0; return 13;}
int foo::overloadfnarg (int arg, int (*foo) (int)) { return foo(arg); }
/* Some functions to test overloading by varying argument count. */
int foo::overloadargs (int a1)
{ a1 = 0;
return 1;}
int foo::overloadargs (int a1, int a2)
{ a1 = a2 = 0;
return 2;}
int foo::overloadargs (int a1, int a2, int a3)
{ a1 = a2 = a3 = 0;
return 3;}
int foo::overloadargs (int a1, int a2, int a3, int a4)
{ a1 = a2 = a3 = a4 = 0;
return 4;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5)
{ a1 = a2 = a3 = a4 = a5 = 0;
return 5;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6)
{ a1 = a2 = a3 = a4 = a5 = a6 = 0;
return 6;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7)
{ a1 = a2 = a3 = a4 = a5 = a6 = a7 = 0;
return 7;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8)
{ a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = 0;
return 8;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8, int a9)
{
a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 = 0;
return 9;
}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8, int a9, int a10)
{ a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 =
a10 = 0; return 10;}
int foo::overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
int a8, int a9, int a10, int a11)
{ a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 =
a10 = a11 = 0; return 11;}
|