函数的重载和变量的作用域

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++语言实验报告实验名称:函数的重载和变量的作用域实验日期:2011-5-6 实验预习报告日期:2011-5-6 实验目的1、了解内联函数、重载函数、带默认参数函数的定义及使用方法。2、掌握作用域的概念、变量的存储类型及它们之间的差别。3、掌握程序的多文件组织。二、实验内容预习及准备(1)分析和设计(编程思路,关键公式、步骤或算法)实验一、重载函数允许不同的函数使用相同的名字,这使得完成类似的任务时可以使用相同的函数名。范例:编写几个计算面积的函数,分别计算圆、矩形、梯形和三角形的面积,计算边长为1的正方形及其内切圆、内接等腰三角形和等腰梯形面积。实验源码#include #include using namespace std; const double 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:"<

实验要求1、若将计算矩形面积的函数原型改为double area(double a=0, double b=0);重新编译运行情况会怎样?为什么?编译错误,无法执行2、若将计算三角形面积的函数原型改为double area(double a, double b,double c);程序还能正确运行吗?为什么?不能,输出流对象输出的函数与定义函数不对应3、若将计算三角形面积的函数原型改为double area(double a, double b,double c=0,int); 程序还能正确运行吗?为什么?不能,输出流对象输出的函数与定义函数不对应实验二、编程:将上题以多文件方式组织,在area.h 中声明各个area( )函数原型,在area.cpp 中定义函数,然后在Exp9_2.cpp 中包含area.h,并定义main( )函数并执行。【注意:】V C++6.0中以c 开头的头文件,如不在标准名字空间中,所以area.cpp 中不可以加using namespace std; 实验源码//头文件area.h #include

#include Const double 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); //实现文件area.cpp #include "area.h" double area(double radius){ return PI*radius*radius; } double area(double a,double b){ return a*b; } double area(double a,double b,double h){ return (0.5*(a+b)*h); } double area(double a,double b,double c,int){ double s=0.5*(a+b+c); return sqrt(s*(s-a)*(s-b)*(s-c)); } //源文件Exp_2.cpp #include "area.h" using namespace std; int main(){ cout<<"Area of point is:"<

实验过程记录实验三、全局变量、局部变量和静态局部变量的应用示例。实验源码#include using namespace std; int a=300,b=400,c=500; void funa(int c){ static int a=5; a+=c; cout<

相关文档
最新文档