cpp中函数的构造以及调用
cpp中函数的构造
返回类型 函数名(形式参数1,形式参数2,形式参数3 ......)
{
函数体;
}
最后的返回类型一定要和定义函数时候的返回类型相同,如果不同会强制转换成构造函数的返回类型,在调用函数的时候,也要符合函数定义的类型,如果不同,强制转换成调用函数时那个变量的类型
如果定义函数类型、函数返回类型、调用函数时赋予的变量数据类型 均一致
例如
// helloworld.cpp: 定义控制台应用程序的入口点。
//
#include <iostream>
using namespace std;
//命名空间
float add(int num1,float num2)
{
float result;
result = num1 + num2;
return result;
}
int main()
{
/************** 函数 **************/
int a = 100;
float b = 50.89;
float k;
k = add(a,b);
cout << k << typeid(k).name() << endl;
return 0;
}
输出
150.89float
如果定义函数类型和函数返回类型一致,与调用函数时赋予的变量数据类型 不一致
// helloworld.cpp: 定义控制台应用程序的入口点。
//
#include <iostream>
using namespace std;
//命名空间
float add(int num1,float num2)
{
float result;
result = num1 + num2;
return result;
}
int main()
{
/************** 函数 **************/
int a = 100;
float b = 50.89;
int k;
k = add(a,b);
cout << k << typeid(k).name() << endl;
return 0;
}
输出
150int
函数返回的值应该是150.89,但是因为返回值给了int类型的k,所以编程了150
如果函数定义和返回值类型不一致,函数定义和调用函数所赋予的变量类型一致
// helloworld.cpp: 定义控制台应用程序的入口点。
//
#include <iostream>
using namespace std;
//命名空间
float add(int num1,float num2)
{
float result;
result = num1 + num2;
return result;
}
int main()
{
/************** 函数 **************/
int a = 100;
float b = 50.89;
int k;
k = add(a,b);
cout << k << typeid(k).name() << endl;
return 0;
}
输出
150float
总结,调用函数赋予的数据类型 > 构造函数时赋予的类型 > 函数返回值赋予的类型
函数只能返回一次返回值,如果一个return被执行的后面还有代码的话,就不执行。
一般的情况下,调用函数赋予的数据类型、构造函数时赋予的类型、函数返回值赋予的类型 这三种类型都要保持一致。