程序清单7.1 calling.cpp
#include<iostream>
using namespace std;
//void simple(); //函数的声明
void simple() //函数的定义
{
cout << "awzxs\n";
//return; //未带返回值
}
int main()
{
cout << "main() will call the simple() function:\n";
simple(); //函数的调用
}
//void simple() //函数的定义
//{
// cout << "awzxs\n";
// //return; //未带返回值
//}
定义函数
- 函数分为两类:没有返回值的函数和有返回值的函数,无返回值函数被称为void函数,有返回值的函数将生成一个值并将其返回给调用函数;
- 有返回值函数:return的值可以为常量、变量或表达式,但是其结果必须为typename类型或可以转为typename类型;c++中返回值不能是数组,但可以将其作为结构或者对象组成的部分来返回。
程序清单7.2 protos.cpp 函数原型和函数调用
- 函数原型是一条语句,必须以分号结束,获取原型最简单的方法是复制函数定义中的函数头,并添加分号。原型的参数列表中可以包括变量名也可以不包括,原型中的变量名相当于占位符,不必与函数定义中的变量名相同;
- 在编译阶段进行的原型化被称为静态类型检查,静态类型检查可捕获许多在运行阶段难以捕获的错误;
- 仅当有意义时,原型化才会导致类型转换,例如,原型不会将整数转换为结构与指针;
- 当较大类型被自动转换为较小类型时,编译器会发出警报,指出可能会丢失数据。
#include<iostream>
using namespace std;
void cheers(int n);
double cube(double x); //函数原型
#pragma region 另外一种表达
//void cheers(int w);
//double cube(double);
#pragma endregion
int main()
{
cheers(5); //打印5次
cout << "Give me a number: ";
double side;
cin >> side;
double volume = cube(side);
cout << "A " << side << " has a volume of ";
cout << volume << " cubic feet.\n";
cheers(cube(2));
return 0;
}
void cheers(int n)
{
for (int i = 0; i < n; i++)
cout << "awenzxs ";
cout << endl;
}
double cube(double x)
{
return x * x * x;
}