函数重载基础知识

 1 #include<iostream>
 2 using namespace std;
 3 
 4 //1 当同一函数名和不同的参数搭配时函数的含义不同
 5 void myPrint(int a)
 6 {
 7     printf("a:%d\n", a);
 8 }
 9 void myPrint(char *p)
10 {
11     printf("%s\n", p);
12 }
13 void myPrint(int a, int b)
14 {
15     printf("a:%d", a);
16     printf("b:%d\n", b);
17 }
18 
19 /*
20 //返回值不是判断函数重载的标准
21 int  myPrint(int a, int b)
22 {
23     printf("a:%d", a);
24     printf("b:%d\n", b);
25 }
26 */
27 
28 //2 函数重载的判断标准
29    //名称 参数 返回值
30     // 名称相同 参数不一样(个数、类型)
31 //3 返回值不是判断函数重载的标准
32 //4 重载函数的调用标准
33 void main_1()
34 {
35     myPrint(1);
36     myPrint("1112222333aaaa");
37     myPrint(1, 2);
38     system("pause");
39     return;
40 }
41 
42 
43 //函数默认参数和函数重载在一起
44 void myfunc(int a, int b, int c = 0)
45 {
46     printf("a:%d b:%d c:%d\n", a, b, c);
47 }
48 void myfunc(int a, int b)
49 {
50     printf("a:%d b:%d\n", a, b);
51 }
52 void myfunc(int a)
53 {
54     printf("a:%d\n", a);
55 }
56 
57 void  main()
58 {
59     //myfunc(1,2);//函数调用时会产生二义性
60     myfunc(1);
61     system("pause");
62     return;
63 }

 

posted @ 2017-03-29 11:31  Shaine  阅读(277)  评论(0编辑  收藏  举报