头文件(.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.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC...
在C++编程中,自定义头文件是一种常见做法,它允许程序员封装常用的功能或定义,以便在多个源文件之间共享。"game.h"这个头文件就是这样的一个自定义头文件,它似乎集成了多种功能,方便游戏开发或者涉及到游戏逻辑...
总结了.h文件能做什么,.cpp文件能做什么,总结了.h文件的本质,方便新手在遇到文件包含、类型声明、变量定义时能理清.h与.cpp关系,纯属个人总结文档。
C++的文件 windows.h头文件
"afx.h头文件.zip"是一个压缩包,包含了VC++2010学习版可能缺失的afx.h头文件。这个头文件在Microsoft Visual C++的MFC(Microsoft Foundation Classes)库中扮演着至关重要的角色。MFC是微软为Windows平台开发应用...
总之,POSIX正则表达式是C语言编程中的一个重要工具,无论在Linux还是Windows环境下,都可以通过`regex.h`头文件提供的API实现强大的文本匹配功能。了解和掌握这些函数的使用方法,对于提升C/C++程序的文本处理能力...
自动从.h文件中提取类中的成员函数信息,在.cpp文件中生成代码框架。用python写的,在python 3.1下测试的,如果是2.x,里面有一行异常处理的地方不太一样,参见代码中的说明。 直接运行脚本不带参数,会有一个简短的...
C语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC...
conio.h C++ 头文件下载
在本文中,我们将详细介绍 C++ 中的时间处理,包括 time.h 头文件中的变量定义、函数用法、注意事项和相关样例代码。 概念 在 C/C++ 中,对时间的操作有许多值得注意的地方。时间的概念主要有以下几个: * ...
CSpreadSheet类可对文件进行读写...使用时记得在StdAfx.h文件中加入 #include <afxdb.h> #include <odbcinst.h> 然后手动添加 CSpreadSheet.h 和CSpreadSheet.cpp进该项目工作区(插入、复制/粘贴 或者 直接包含即可)
`msword.cpp`则是对应的实现文件,它实现了`msword.h`中声明的函数和类,具体实现了与Word的交互逻辑。例如,这个文件可能包含了初始化Word对象,创建新文档,打开已有文档,插入文本,设置格式,保存文件等功能的...
C语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言...
C语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC语言头文件 COMMCTRL.HC...
"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的...
map.h C++ 头文件下载 C++17 标准库文件 unordered_map map
在Visual Studio中,开发C++项目时经常需要在头文件(.h)和源文件(.cpp)之间频繁切换,这对于提高开发效率至关重要。然而,Visual Studio默认并未提供快捷键来实现这一功能,这给程序员带来了不便。为了解决这个...
corecrt.h c/c++头文件 。
标题提到的“MFC所包含的头文件stdafx.h及stdafx.cpp”是MFC应用中的关键组成部分。 `stdafx.h` 文件是预编译头文件,它的主要作用是提高编译速度。在MFC项目中,通常会包含许多标准库和MFC库的头文件,这些头文件...