Metadata
Title
Overloading Examples
Category
general
UUID
1dd2312d1b444f33bc7ef5fb43ffff93
Source URL
https://cforall.uwaterloo.ca/features/overloading.shtml
Parent URL
https://cforall.uwaterloo.ca/features/
Crawl Time
2026-03-18T05:16:06+00:00
Rendered Raw Markdown

Overloading Examples

Source: https://cforall.uwaterloo.ca/features/overloading.shtml Parent: https://cforall.uwaterloo.ca/features/

#include <fstream.hfa>

void main( void ) { sout | "void(void)"; }
void main( int i ) { sout | "void(int)"; return i; }
int main( int i ) { sout | "int(int)"; return i + 1; }
void main( double d ) { sout | "void(double)"; }
double main( int i ) { sout | "double(int)"; return 7.3; }
void main( int i1, int i2 ) { sout | "void(int,int)"; }
int main( int i1, int i2 ) { sout | "int(int,int)"; }

int main() {
    main();                             // void(void)
    main( 3 );                          // void(int)
    main( 3.5 );                        // void(double)
    int i = main( 3 );                  // int(int)
    double d = main( 3 );               // double(int)
    main( 4, 5 );                       // void(int,int)
    i = main( 4, 5 );                   // int(int,int)
    int j;

    struct main { int i; };
    main main = { 3 };
    enum E { main };
    int main = 3;
    char main[10];
    E e = main;

    main += 1;
    main.i = 3;
    main[3] = 'a';
    sout | main | (int)main( 4 ) | ' ' | main[3] | ' ' | main.i;
}