怎么在c++的头文件中声明一个函数

 我来答
笑喘是病得抽
2017-07-10 · TA获得超过925个赞
知道大有可为答主
回答量:2140
采纳率:98%
帮助的人:2240万
展开全部
一般为了安全性,只在头文件中进行声明,而不定义,在其它文件中进行定义。给你个例子。因为我学了才一年,所以没法给你说过多的理论,给你两个例子你好好体会把。
简单例子实现输出两个数据。
/*在text。h头文件中进行声明*/
#include<iostream>
using namespace std;
void display(int,int);/*使用该函数来实现输出*/
/*在texxt。cpp中进行定义,注意第一行,很重要因为不是c++标准库中的头文件,所以不能用<>,而要用""括起头文件*/
#include "text.h"
void display(int x,int y)
{
cout<<"A="<<x<<"B="<<y<<endl;
}
/*在主函数中进行调用函数*/

#include "text.h"
int main()
{
int a,int b;
cout<<"please input a &b"<<endl;
cin>>a>>b;
display(a,b);
return 0;
}
下面这个例子实现类的头文件中声明,实现2*3矩阵的加法运算,并进行重载输入输出流。
在/*matrix。h中声明*/
#include <iostream.h>
class Matrix
{
private:
int a[2][3];
public:
Matrix operator + (Matrix&);/*重载加法运算符*/
friend istream& operator>>(istream&,Matrix&);/*重载输入流*/
friend ostream& operator<<(ostream&,Matrix&);/*重载输出流*/
};

/*在matrix。cpp中进行定义*/
#include "matrix.h"
Matrix Matrix::operator +(Matrix&w)
{
Matrix x;
for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
x.a[i][j]=this->a[i][j]+w.a[i][j];
}
return x;
}
istream& operator>>(istream& w,Matrix& y)
{
for(int i=0;i<2;i++)
{for(int j=0;j<3;j++)
cin>>y.a[i][j];
}
return w;
}
ostream& operator <<(ostream & x,Matrix& z)
{
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
cout<<z.a[i][j]<<" ";
cout<<endl;
}
return x;
}
/*主函数中调用*/
#include "matrix.h"
int main()
{
Matrix c,d,e;
cout<<"Please input the first matrix column!"<<endl;
cin>>d;
cout<<"Please input the second matrix column!"<<endl;
cin>>e;
cout<<"Here is the plus result of the two matrix columns!"<<endl;
c=d+e;
cout<<c;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式