标题:学习函数
关键词:函数
内容:
1 函数重载
a double,双精度类型,用来定义小数,要是出现小数就不能用int,而要用double。
b define是宏定义,定义一个全局变量,在整个文件中都可以使用。
如#define a 3。即认为a 等同于3
函数重载是指,具有相同函数名的函数有多种形式的实现,及通过不同的参数来完成不同的操作,函数的重载一般用来求具有相似功能的的一组计算或操作。
重载是为了减少麻烦而产生的。
例如我们要计算两个数的和,写了一个函数,如下:
int sum(int a,int b )
{
return (a+b);
}
这个是为了计算两个整形的和
float sum(float a,float b )
{
return(a+b);
}
这是为了计算浮点数的和
如果我们要计算浮点数和整数的和还要再写一个函数,这就非常麻烦
float float_intSum(float fA,int nB)
{
return (fA+(float)nB);}
所以这时我们就可以使用重载,用一个函数名就行了。
int sum(int a,int b )
{
return(a+b);
}
float sum(float afloat b)
{
return (a+b);
}
double sum(double a,double b )
{
return (a+b);
}
这样我们可以把所有能想到的相加写在这个函数里,然后以后算两个数相加直接用这个函数就行了,不用去想其他的函数名。
重载函数的形式参数(指参数的个数、类型或者顺序)必须不同。
例题 定义重载函数,计算三角形,矩形,圆的面积。
//
// main.cpp
// 七
//
// Created by 张良 on 2016/11/5.
// Copyright © 2016年 张良. All rights reserved.
//
#include <iostream>
#include<math.h>
#define pi 3.14
double function(double a,double b,double c)//求三角形的面积
{
double s,area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
double function(double a,double b)//求矩形面积
{
double area;
area=a*b;
return area;
}
double function(double a)
{
double area;
area=pi*a*a;
return area;
}
int main()
{
double a,b,c;
std::cout<<"请输入三角形的三条边:"<<'\n';
std::cin>>a>>b>>c;
std::cout<<"该三角形的面积为"<<function(a,b,c)<<'\n';
std::cout<<"请输入矩形的长和高:"<<'\n';
std::cin>>a>>b;
std::cout<<"该矩形的面积为:"<<function(a,b)<<'\n';
std::cout<<"请输入圆的半径:"<<'\n';
std::cin>>a;
std::cout<<"该园的面积为"<<function(a)<<std::endl;
}
要注意的是重载函数的参数的个数,类型,次序,必须要有一个不同!!!
这一个还是很简单的,下面看内连函数 = =看的云里雾里的,只知道用内敛函数可以解决函数的调用问题。