函数的重载和变量的作用域
实验九 函数的重载和变量的作用域
一、实验目的
1. 了解内联函数、重载函数、带默认参数函数的定义及使用。
2. 掌握作用域的概念,变量的存储类型及它们之间的差别。
3. 掌握程序的多文件组织。
4. 掌握编译预处理
,理解带参数宏定义与函数的区别。(可选)
二、实验内容
1. 重载函数允许不同的函数使用相同的名字,这使得完成类似任务时可以使用相同函数名。
范例:编写几个计算面积的函数,分别计算圆、矩形、梯形和三角形的面积,计算边长为1的正方形及其内切圆、内接等腰三角形和等腰梯形面积。 函数原型如下:
double area(double radius=0);
//圆面积,参数为半径,默认参数0,表示点面积
double area(double a, double b);
//计算矩形面积,参数为长和宽
double area(double a, double b, double h);
//计算梯形面积,参数为两底和高
double area(double a, double b, double c, int);
//三角形,参数为三边长,int型参数起标示作用,以区别于梯形,不参加计算 程序如下:
#include
#include
using namespace std;
#define PI 3.14159
double area(double radius=0);
double area(double a, double b);
double area(double a, double b, double h);
double area(double a, double b, double c, int);
int main(){
cout<<"Area of point is "<题以多文件方式组织,在area.h中声明各个area函数原型,在area.cpp中定义函数,然后在Exp9_2.cpp中包含area.h,定义main函数并执行。
注意:using namespace std; 只能说明一次,或者说只能在一个文件中说明。
3. 范例:作用域、全局变量、局部变量和静态局部变量的应用示例。分析并写出下列程序的执行结果,然后输入计算机执行,比较分析结果与执行结果。 #include
using namespace std;
int a = 300, b = 400, c = 500;
void funa( int c){
static int a = 5;
a+=c;
cout<格式 输出不同类型的数据,可以编制多个同名的 output()函数,这些函数的参数类型互不相同,对不同的参数设计不同的输出格式。
编程:使用函数重载技术编程实现自动适应字符串、整数和实数的输出。