`
beckshanling
  • 浏览: 262810 次
  • 性别: 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语言头文件 TYPEINFO.H

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

    c++自制game.h头文件

    在C++编程中,自定义头文件是一种常见做法,它允许程序员封装常用的功能或定义,以便在多个源文件之间共享。"game.h"这个头文件就是这样的一个自定义头文件,它似乎集成了多种功能,方便游戏开发或者涉及到游戏逻辑...

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

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

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

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

    afx.h头文件.zip

    "afx.h头文件.zip"是一个压缩包,包含了VC++2010学习版可能缺失的afx.h头文件。这个头文件在Microsoft Visual C++的MFC(Microsoft Foundation Classes)库中扮演着至关重要的角色。MFC是微软为Windows平台开发应用...

    linux下的C语言POSIX正则表达式头文件和源文件: regex.h regex.cpp

    总之,POSIX正则表达式是C语言编程中的一个重要工具,无论在Linux还是Windows环境下,都可以通过`regex.h`头文件提供的API实现强大的文本匹配功能。了解和掌握这些函数的使用方法,对于提升C/C++程序的文本处理能力...

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

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

    C语言头文件 IOSTREAM.H

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

    conio.h C++ 头文件下载

    conio.h C++ 头文件下载

    C++头文件time.h详解

    在本文中,我们将详细介绍 C++ 中的时间处理,包括 time.h 头文件中的变量定义、函数用法、注意事项和相关样例代码。 概念 在 C/C++ 中,对时间的操作有许多值得注意的地方。时间的概念主要有以下几个: * ...

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

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

    msword.h,msword.cpp。用于VC控制WORD

    `msword.cpp`则是对应的实现文件,它实现了`msword.h`中声明的函数和类,具体实现了与Word的交互逻辑。例如,这个文件可能包含了初始化Word对象,创建新文档,打开已有文档,插入文本,设置格式,保存文件等功能的...

    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语言头文件 COMMCTRL.H

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

    C++头文件转delphi .pas

    "C++头文件转Delphi .pas"这个工具就为此目的而设计,它帮助开发者将C++的头文件(.h)转换为Delphi可以理解的单元文件(.pas)。 C++的头文件通常包含了类定义、函数声明、枚举、结构体等信息,这些信息在Delphi中...

    arduino的wire.h头文件压缩包

    arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的wire.h头文件压缩包arduino的...

    map.h C++ 头文件下载

    map.h C++ 头文件下载 C++17 标准库文件 unordered_map map

    visual studio 中如何设置头文件与源文件切换

    在Visual Studio中,开发C++项目时经常需要在头文件(.h)和源文件(.cpp)之间频繁切换,这对于提高开发效率至关重要。然而,Visual Studio默认并未提供快捷键来实现这一功能,这给程序员带来了不便。为了解决这个...

    corecrt.h c/c++头文件

    corecrt.h c/c++头文件 。

    MFC所包含的头文件stdafx.h及stdafx.cpp

    标题提到的“MFC所包含的头文件stdafx.h及stdafx.cpp”是MFC应用中的关键组成部分。 `stdafx.h` 文件是预编译头文件,它的主要作用是提高编译速度。在MFC项目中,通常会包含许多标准库和MFC库的头文件,这些头文件...

Global site tag (gtag.js) - Google Analytics