/*ca62a_c++_函数声明
一个函数只能定义一次,但是可以声明多次
声明:写在头文件中 myfunc.h
void print(int *arr, int size);
也可以:
void print(int *, int );
定义:写在源文件中myfunc.cpp
void print(int *arr, int size)
{
for (int i = 0; i != size; ++i)
cout << arr[i] << endl;
}
声明与定义只能有一个地方初始化,不能两个都写。
如:
声明
int sum(int a=1, int b=2);//最好初始化写在这里 。
定义:
int sum(int a=1, int b=2)//这里赋值了,就错误了。
{
return a+b;
}
函数原型:函数返回类型、函数名、形参列表
-可以省略形参名,必须有形参类型
函数在头文件中声明,在源文件中定义
-定义函数的源文件中也要包含函数声明头文件
默认实参
-既可以在函数声明也可以在函数定义中指定默认实参
-通常是在函数声明中提供默认实参
ca62a.cpp
*/
/*ca62a_c++_函数声明
一个函数只能定义一次,但是可以声明多次
声明:写在头文件中 myfunc.h
void print(int *arr, int size);
也可以:
void print(int *, int );
定义:写在源文件中myfunc.cpp
void print(int *arr, int size)
{
for (int i = 0; i != size; ++i)
cout << arr[i] << endl;
}
声明与定义只能有一个地方初始化,不能两个都写。
如:
声明
int sum(int a=1, int b=2);//最好初始化写在这里 。
定义:
int sum(int a=1, int b=2)//这里赋值了,就错误了。
{
return a+b;
}
函数原型:函数返回类型、函数名、形参列表
-可以省略形参名,必须有形参类型
函数在头文件中声明,在源文件中定义
-定义函数的源文件中也要包含函数声明头文件
默认实参
-既可以在函数声明也可以在函数定义中指定默认实参
-通常是在函数声明中提供默认实参
ca62a.cpp
*/
#include <iostream>
#include "myfunc.h" //通过头文件调用函数
using namespace std;
void print(int *arr, int size);
//void print(int *arr, int size)
//{
// for (int i = 0; i != size; ++i)
// cout << arr[i] << endl;
//}
//int sum(int a=1, int b=2)
//{
// return a + b;
//}
int main()
{
int m[] = {2,4,6,8,0,1,3,5,7,9};
print(m,10);
cout << sum(10, 20) << endl;
cout << sum(10) << endl;//省了一个参数,默认b=2.结果就是12;
cout << sum() << endl;//两个都省了,因为默认定义里,a=1,b=2,结果就是3;
return 0;
}
#pragma once
//myfunc.h
#ifndef MYFUNC_H //头文件保护,防止多重包含
#define MYFUNC_H
//void print(int *arr, int size);
//或者这样写
void print(int *,int);
int sum(int a = 1, int b = 2);
#endif // !MYFUNC_H
//myfunc.cpp
#include "myfunc.h"
#include <iostream>
using namespace std;
void print(int *arr, int size)
{
for (int i = 0; i != size; ++i)
cout << arr[i] << endl;
}
int sum(int a , int b )
{
return a + b;
}
来源:CSDN
作者:txwtech
链接:https://blog.csdn.net/txwtech/article/details/104216276