`
beckshanling
  • 浏览: 255388 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

C++中头文件(.h)和源文件(.cpp)都应该写些什么zz

    博客分类:
  • C++
阅读更多

头文件(.h):
    写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。

    在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下):

#ifndef CIRCLE_H
#define CIRCLE_H

//你的代码写在这里

#endif
    这样做是为了防止重复编译,不这样做就有可能出错。

    至于CIRCLE_H这个名字实际上是无所谓的,你叫什么都行,只要符合规范都行。原则上来说,非常建议把它写成这种形式,因为比较容易和头文件的名字对应。

   源文件(.cpp):

    源文件主要写实现头文件中已经声明的那些函数的具体代码。需要注意的是,开头必须#include一下实现的头文件,以及要用到的头文件。那么当你需要用到自己写的头文件中的类时,只需要#include进来就行了。

    下面举个最简单的例子来描述一下,咱就求个圆面积。

     第1步,建立一个空工程(以在VS2003环境下为例)。

     第2步,在头文件的文件夹里新建一个名为Circle.h的头文件,它的内容如下:

#ifndef CIRCLE_H
#define CIRCLE_H

class Circle
...{
private:
    double r;//半径
public:
    Circle();//构造函数
    Circle(double R);//构造函数
    double Area();//求面积函数
};

#endif
   注意到开头结尾的预编译语句。在头文件里,并不写出函数的具体实现。

    第3步,要给出Circle类的具体实现,因此,在源文件夹里新建一个Circle.cpp的文件,它的内容如下:

#include "Circle.h"

Circle::Circle()
...{
    this->r=5.0;
}

Circle::Circle(double R)
...{
    this->r=R;
}

double Circle:: Area()
...{
    return 3.14*r*r;
}
    需要注意的是:开头处包含了Circle.h,事实上,只要此cpp文件用到的文件,都要包含进来!这个文件的名字其实不一定要叫Circle.cpp,但非常建议cpp文件与头文件相对应。

    最后,我们建一个main.cpp来测试我们写的Circle类,它的内容如下:

#include <iostream>
#include "Circle.h"
using namespace std;

int main()
...{
    Circle c(3);
    cout<<"Area="<<c.Area()<<endl;
    return 1;
}
    注意到开头时有#include "Circle.h"的声明,证明我们使用到了我们刚才写的Circle类。

   至此,我们工程的结构为:

 

    运行一下,输出结果为:

 

   说明我们写的Circle类确实可以用了。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lyanliu/archive/2008/03/19/2195632.aspx

分享到:
评论

相关推荐

    C++ .h和.cpp文件总结

    总结了.h文件能做什么,.cpp文件能做什么,总结了.h文件的本质,方便新手在遇到文件包含、类型声明、变量定义时能理清.h与.cpp关系,纯属个人总结文档。

    C语言头文件 GL.H C语言头文件 GL.H

    C语言头文件 GL.HC语言头文件 GL.HC语C语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言头文件 GL.HC语言...

    C++的文件 windows.h头文件

    C++的文件 windows.h头文件

    从.h文件自动生成.cpp文件代码框架

    自动从.h文件中提取类中的成员函数信息,在.cpp文件中生成代码框架。用python写的,在python 3.1下测试的,如果是2.x,里面有一行异常处理的地方不太一样,参见代码中的说明。 直接运行脚本不带参数,会有一个简短的...

    c++自制game.h头文件

    解压后放到D盘 写代码时加上1行代码: #include &lt;D:\game.h&gt;即可 相当于万能头文件+fstream库+windows.h库+conio.h库 还有一些类型和函数

    C语言头文件 COMPLEX.H

    C语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件 COMPLEX.HC语言头文件...

    C语言头文件 MEMORY.H

    C语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY....

    C语言头文件 TYPEINFO.H

    C语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC...

    CSpreadSheet类(含头文件.h和.cpp).rar

    CSpreadSheet类可对文件进行读写...使用时记得在StdAfx.h文件中加入 #include &lt;afxdb.h&gt; #include &lt;odbcinst.h&gt; 然后手动添加 CSpreadSheet.h 和CSpreadSheet.cpp进该项目工作区(插入、复制/粘贴 或者 直接包含即可)

    conio.h C++ 头文件下载

    conio.h C++ 头文件下载

    C语言头文件 IOSTREAM.H

    C语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC...

    C语言头文件 LIMITS.H

    C语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS....

    C语言头文件 NEW.H

    C语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 ...

    C语言头文件 QUEUE.H

    C语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言...

    C语言头文件 FSTREAM.H

    C语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件 FSTREAM.HC语言头文件...

    C语言头文件 UrlMon.h

    C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, ...

    C语言头文件 IOMANIP.H

    C语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件...

    C语言头文件 STRING.H

    C语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING....

    C语言头文件 LIST.H

    C语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC...

    C语言头文件 ISTREAM.H

    C语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件 ISTREAM.HC语言头文件...

Global site tag (gtag.js) - Google Analytics