1 // C++函数和类 05-返回类型.cpp: 定义控制台应用程序的入口点。
2 //
3
4 #include "stdafx.h"
5 #include <iostream>
6 #include <string>
7 #include <limits>
8 #include <math.h>
9 #include <array>
10 using namespace std;
11
12 void swap(int &a, int &b);
13 int max(int a, int b);
14 int &sum(int a, int b, int &res);
15 int main()
16 {
17 int num1 =5;
18 int num2 = 15;
19 swap(num1, num2);
20 cout << "num1:" << num1 << endl;
21 cout << "num2:" << num2 << endl;
22 int res = max(num1, num2);
23 cout << "最大值为:" << res << endl;
24
25 res = sum(num1, num2, res);
26 cout << "两个数的和为:" << res << endl;
27
28 sum(num1, num2, res)++;
29 cout << res << endl;
30 return 0;
31 }
32
33 //没有返回值的函数,可以使用return;
34 void swap(int &a, int &b)
35 {
36 if (a >=b)
37 {
38 return;
39 }
40 else
41 {
42 int temp = a;
43 a = b;
44 b = temp;
45 }
46 }
47
48 //有返回值的函数,每个return语句都带有结果。
49 int max(int a, int b)
50 {
51 if (a > b)
52 {
53 return a;
54 }
55 else
56 {
57 return b;
58 }
59 }
60 //返回引用类型:返回引用类型,可以在内存中不产生被返回值的副本,返回的是对象本身。
61 //但需要注意:不要返回局部对象的引用或指针。函数完成后,它所占用的储存空间也随之被释放掉。为避免这种问题,我们可以返回
62 //一个作为参数传递给函数的引用。
63
64 int &sum(int a, int b, int &res)
65 {
66 res = a + b;
67 return res;
68 }