函数的重载和变量的作用域
实验九 函数的重载和变量的作用域
一、实验目的
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 "<
using namespace std;
int a = 300, b = 400, c = 500;
void funa( int c){
static int a = 5;
a+=c;
cout<方法各有什么特点,当考虑到不同数据类型时,哪种方法更合适,
为什么C++不提倡用宏,
5. 希望对不同类型的数据完成相似功能时往往采用函数重载的方法。例如要在程序中用不同的格式输出不同类型的数据,可以编制多个同名的 output()函数,这些函数的参数类型互不相同,对不同的参数设计不同的输出格式。
编程:使用函数重载技术编程实现自动适应字符串、整数和实数的输出。