【转】.h和.cpp文件的区别

原文链接 https://www.cnblogs.com/jiapengzhang/p/7058635.html

首先,所有的代码是都可以放在一个cpp文件里面的。这对电脑来说没有任何区别,

但对于一个工程来说,臃肿的代码是一场灾难,非常不适合阅读和后期维护,

所以.h和.cpp文件更多的是对程序员的编写习惯进行规范

用法

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()就可以测试该模块功能。

例(g++):

 1 //point.c
 2 #include"point.h"
 3 #define DEBUG 1
 4 Point::Point(int _x,int _y){
 5     x=_x;
 6     y=_y;
 7 }
 8 void Point::ADD(Point _p){
 9     x+=_p.x;
10     y+=_p.y;
11   
12 ▽oid Point::Print(){
13     printf("(%d,%d)\n",x,y);
14 }
15 
16 #if DEBUG
17 int main(){
18     Point a(1,1);
19     Point b(2,2);
20     a.Print();
21     a.ADD(b);
22     a.Print();
23     return 0;
24 }
25 #endif

执行:

g++ -c point.c
g++ -o test point.o

获得可执行程序test

执行test,可得到结果:

[zjp@virtual-CentOS-for-test workstation]$ ./test
(1,1)
(3,3)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值