1 // C++函数和类 01-函数.cpp: 定义控制台应用程序的入口点。
2 //
3
4 #include "stdafx.h"
5 #include <iostream>
6 #include <string>
7 #include <array>
8 #include <climits>
9 #include <math.h>
10 using namespace std;
11
12 void greet(); //如果将函数放在main()函数之前,可以省略掉函数声明(原型)。
13 int sum(int a, int b);
14 int main()
15 {
16 int num1 = 10;
17 int num2 = 5;
18 int num3 = 2;
19 int num4 = 6;
20 //调用函数
21 greet();
22 //需要一个int类型的变量接收返回值
23 //将实参num1、num2的值传递给形参a,b
24 //执行函数体,并返回两个数的和
25 int result1 = sum(num1, num2);
26 int result2 = sum(num3, num4);
27
28 cout << result1 << endl;
29 string name = "uimodel";
30
31 return 0;
32 }
33 //没有返回值,没有参数
34 //函数名为greet
35 //函数体为输出Hello语句
36 void greet()
37 {
38
39
40 cout << "Hello!" << endl;
41 }
42 //返回值为int类型
43 //参数为2个int类型的值a,b
44 //函数名为sum
45 //函数体为求得两个参数的和,并返回一个int类型的数值
46 int sum(int a, int b)//形参也是一种自动对象(开始时被创建,终止后自动销毁
47 {
48 int result = a + b; //
49 //局部静态对象直到程序终止才会销毁。和局部变量有区别,局部变量开始函数每次结束后都会销毁。
50 static int count = 0;
51 count += 1;
52 cout << "静态局部变量计算了:"<<count<<"次" << endl;
53 return result;
54
55 } //块执行期间的对象称为自动对象(开始时被创建,终止后自动销毁)
56
57 //局部静态对象:在执行的路径第一次经过对象定义语句时初始化,并且直到程序终止才被销毁。
58 //所以局部静态对象不是自动对象。
59 //可以用 static 关键字修饰局部变量,从而获得局部静态对象。
60 //static int count =0;