目录
一、什么是“头文件”?
二、格式
三、如何自定义?
四、应用
一、什么是“头文件”?
一段代码做例子:
#include<bits/stdc++.h>//这就是“头文件”
using namespace std;
int main(){
return 0;
}
“头文件”一般写成#include<______.h>或#include"______.h"。
这行代码让一些在别的文件中定义的的函数、结构的、常量也能在此程序中调用、使用。头文件可以大大节省代码空间,内存空间。
例如在bits/stdc++.h这个文件中有一个函数叫max(int x,int y),还有一个函数叫min(int x,int y),而在我自己的程序中没有定义这两个函数,可我只需在开头加上#include<bits/stdc++.h>这个头文件,我就可以调用这两个函数。
一般这样的头文件扩展名都是.h(.hpp/.rh/.hh)。
二、格式
系统定义的头文件:#include<______.h>
自定义的头文件:#include"______.h"
三、如何自定义?
1、打开DEV-C++。
2、初始化。删掉缺省源(初始代码),改成:
#ifndef ONE_H//程序名称大写,“.”变成“_”。他可以避免重复报错。
#define ONE_H//程序名称大写,“.”变成“_”。他可以避免重复报错。
using namespace std;
//不要写main函数,直接把要定义的东西写在这就行了。
#endif
3、自定义函数、结构体、常量。
例:实现分数的计算
#ifndef FRAKET_H
#define FRAKET_H
using namespace std;
struct Fraction{
int son,mother;
double change(){
double x=(son*1.0)/(mother*1.0);
return x;
}
};
inline int gcd(int a,int b){
int n;
int m;
if(a>b){
n=a;
m=b;
}
else{
n=b;
m=a;
}
if(n%m==0)
return m;
return gcd(n%m,m);
}
inline void Simplify(Fraction a){
int x=gcd(a.son,a.mother);
a.son/=x;
a.mother/=x;
}
inline Fraction FAdd(Fraction a,Fraction b,bool flag){
int ma=a.mother;
int mb=b.mother;
int x=a.mother*b.mother/gcd(a.mother,b.mother);
ma=x/ma;
mb=x/mb;
Fraction f;
f.mother=x;
f.son=a.son*ma+b.son*mb;
if(flag==1)
Simplify(f);
return f;
}
inline Fraction FSub(Fraction a,Fraction b,bool flag){
int ma=a.mother;
int mb=b.mother;
int x=a.mother*b.mother/gcd(a.mother,b.mother);
ma=x/ma;
mb=x/mb;
Fraction f;
f.mother=x;
f.son=a.son*ma-b.son*mb;
if(flag==1)
Simplify(f);
return f;
}
inline Fraction FMul(Fraction a,Fraction b,bool flag){
Fraction f;
f.mother=a.mother*b.mother;
f.son=a.son*b.son;
if(flag==1)
Simplify(f);
return f;
}
inline Fraction FDiv(Fraction a,Fraction b,bool flag){
Fraction f;
f.mother=a.mother*b.son;
f.son=a.son*b.mother;
if(flag==1)
Simplify(f);
return f;
}
#endif
解析:
自定义常量也行
四、应用
例:(注:头文件必须和此程序在同一目录)
#include<bits/stdc++.h>
#include"fraket.h"//之前编写的头文件
using namespace std;
int main(){
Fraction a,b,ans;
char s;
cout<<"分子1:";
cin>>a.son;
cout<<"分母1:";
cin>>a.mother;
cout<<"分子2:";
cin>>b.son;
cout<<"分母2:";
cin>>b.mother;
cout<<"运算:";
cin>>s;
if(s=='+')
ans=FAdd(a,b,1);
else if(s=='-')
ans=FSub(a,b,1);
else if(s=='*')
ans=FMul(a,b,1);
else if(s=='/')
ans=FDiv(a,b,1);
cout<<ans.son<<"/"<<ans.mother<<" "<<ans.change();
return 0;
}
头文件必须和此程序在同一目录:
解析:
看懂了吗?文章来源:https://www.toymoban.com/news/detail-719596.html
头文件中定义的东西,可直接在主程序中调用。文章来源地址https://www.toymoban.com/news/detail-719596.html
制作不易!谢谢大家!
到了这里,关于DEV-C++自定义头文件——自定义扩展名为.h的文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!