.h 和.cpp的区别

.h 和.cpp的区别,第1张

一、用法不同

1、.h文件直接#include到需要的.cpp文件里,就相当于把.h文件的代码拷贝到.cpp文件

2、.cpp文件需要先自己生成.o文件,把不同.o文件连接生成可执行文件。

比如有3个cpp文件:a.cpp、b.cpp、c.cpp,其中一个包含main()函数,需要生成test程序,

步骤:

(1)生成3个.o文件:

cc -c a.cpp

cc -c b.cpp

cc -c c.cpp

这样就得到3个.o文件:a.o、b.o、c.o

(2)链接生成test程序:cc -o test a.o b.o c.o

就得到test可执行程序,输入./test就可执行程序了。

二、规范不同

1、h文件一般包含类声明;

2、cpp文件一般为同名h文件定义所声明的类函数。

说明:一般可在cpp文件直接添加main()就可以测试该模块功能。

扩展资料:

放在.h里的数学计算公式:

1、 三角函数

double sin(double)正弦

double cos(double)余弦

double tan(double)正切

2 、反三角函数

double asin (double)结果介于[-PI/2,PI/2]

double acos (double)结果介于[0,PI]

double atan (double)反正切(主值),结果介于[-PI/2,PI/2]

double atan2 (double,double)反正切(整圆值),结果介于[-PI,PI]

3 、双曲三角函数

double sinh (double)

double cosh (double)

double tanh (double)

4 、指数与对数

double frexp(double value,int *exp)这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。

double ldexp(double x,int exp)这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp

double modf(double value,double *iptr)拆分value值,返回它的小数部分,iptr指向整数部分。

double log (double)以e为底的对数

double log10 (double)以10为底的对数

double pow(double x,double y)计算x的y次幂

float powf(float x,float y)功能与pow一致,只是输入与输出皆为单精度浮点数

double exp (double)求取自然数e的幂

double sqrt (double)开平方根

5 、取整

double ceil (double)取上整,返回不比x小的最小整数

double floor (double)取下整,返回不比x大的最大整数,即高斯函数[x]

6 、绝对值

double fabs (double)求实型的绝对值

double cabs(struct complex znum)求复数的绝对值

以.h位后缀的是头文件,.cpp是源文件,一般都是在一个项目中。如果是初学c++的话,使用源文件(也就是.cpp)就足够编写出需要的源程序了。如书本上最基本的“Hello World”编码,只要在源文件中有一个主函数就可以完成一个程序。

在稍微复杂一点的程序中,也许就会用到头文件(.h)。事实上,这种头文件和代码中预处理里包含的头文件没有什么区别(就好像C语言中#include <stdio.h>)其中stdio.h就是一个头文件。

编写头文件就是按照自己的需要,给程序设计这样的头文件。头文件中,一般包含一些类的声明,函数定义之类的东西,方便在源文件的主函数中使用。

例如在a.h文件中:

#include <iostream>

using namespace std

class Try

{

public:

void do()

}

接下来,只要在源文件b.cpp中的预处理命令里写成:

#include <iostream>

#include "a.h" (也就是在这里加上#include "a.h"这一句)

using namespace std

.....

就可以在b.cpp的代码中声明和调用Try类型的对象了。

扩展资料

c++程序里使用多个cpp和h文件:

建立一个工程,里面有三个文件hello.hpp、hello.cpp、main.cpp

// hello.hpp

#ifndef HELLO_HPP

#define HELLO_HPP

class Hello

{

public:

void show() const

}

#endif

====================

// hello.cpp

#include "hello.hpp"

#include <iostream>

using std::cout

using std::endl

void Hello::show() const

{

cout << "Hello World" << endl

}

====================

// main.cpp

#include "hello.hpp"

int main()

{

Hello hello

hello.show()

return 0

}

参考资料来源:百度百科 - C++

百度百科 - cpp (一种计算机编程语言)

1、将.h/.cpp文件添加到工程里1.1菜单栏->项目->添加现有项,找到你的文件,选上,点OK1.2右侧文件列表->在【头文件/源文件】文件夹的地方右键->添加->现有项,选中要添加的xxx.h/xxx.cpp->点击添加就OK了2、在使用到该类的文件里面#inclucde“xxx.h”,就可以使用了如果类适合你的项目就没问题,要不就得修改了希望对你有帮助!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11431933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存