c++中.h和.cpp中具体应该写什么内容

原创 2015年07月09日 21:13:54

头文件(.h):

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

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



头文件(.h):
写在头文件里的是:类的声明(包括类里面 的成员和方法的声明)、函数声明、#define常数等。一般来说不写具体的实现 
注意:要在开头和结尾写上预编译语句,目的:防止重复编译。

#ifndef CIRCLE_H
#define CIRCLE_H

//类的声明(包括类里面 的成员和方法的声明)、函数声明、#define常数

#endif
CIRCLE_H是随便起的名字,所以叫什么是无所谓的。


源文件主要写实现头文件中已经声明的那些函数的具体代码。

源文件:实现头文件中已经声明的那些函数的代码。注意:此处应包括:c++所带的那些头文件和你自己写的那些头文件

举例说明:
编写计算圆的面积的代码:


第一步:定义Circle.h
#ifndef CIRCLE_H
#define CIRCLE_H

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

#endif

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

    第2步,要给出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;
}




C++中.h文件与.cpp文件中该写什么?

C++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类的实现放在cpp文件中。它们为什么能够关联到一起呢?你知道什么东西可以放在.h文件中,什么不能。什么东西又可以放在cpp文件中。如果...
  • lwb102063
  • lwb102063
  • 2016年07月29日 20:01
  • 3873

c++中xx.h和xx.cpp之间的联系

不是很严格的讲,*.h文件做的是类的声明,包括类成员的定义和函数的声明,而*.cpp文件做的类成员函数的具体实现(定义)。 一个*.h文件和*.cpp文件一般是配对的。在*.cpp文件的第一行一...
  • hanshuning
  • hanshuning
  • 2014年10月28日 20:57
  • 1464

C++中类定义可以写在.h文件,但函数定义却不行

前两个转自:http://bbs.csdn.net/topics/390542206?page=1#post-395264705 一、定义和声明 1) 定义就是声明,声明不一定就是定义,声明的...
  • u010585135
  • u010585135
  • 2014年12月09日 21:08
  • 3935

C++中对于类来说头文件(.h)和源文件(.cpp)都应该写些什么 (类的常规创建)

头文件(.h):     写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。     在写头文件时需要注意,在开头...
  • u011555996
  • u011555996
  • 2016年04月16日 17:33
  • 3421

类模板中.h和.cpp的实现方法

 一般类的声明和实现放在两个文件中,然后在使用该类的主程序代码中,包含相应的头文件".h"就可以了,但是,模板类必须包含该其实现的.cpp文件才行。 也就是说,在你的主程序中,将 #inclu...
  • zhongyunde
  • zhongyunde
  • 2014年10月16日 23:06
  • 1654

C++中的 .h 和 .cpp 区别详解

在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念。 对于以C起步,C#...
  • TColin
  • TColin
  • 2016年06月06日 10:48
  • 16042

C++编译与链接(0)-.h与.cpp中的定义与声明

转自 http://www.cnblogs.com/magicsoar/p/3702365.html C++中有的东西需要放在可以在.h文件中定义,有的东西则必须放在.cpp文件中定义,有的东西...
  • wscdylzjy
  • wscdylzjy
  • 2016年06月06日 14:50
  • 795

请遵守好的编程风格 -- 关于.h文件去写函数的具体实现

今天往工程里添加Log.h和Log.cpp这用来打印log的文件时, 编译报错误.  Log.cpp里的一些函数调用func1(), func2(), funcXXX()找不到实现, 可是那些函数明...
  • aa2650
  • aa2650
  • 2014年05月23日 16:21
  • 3092

C++ 在.h文件中包含头文件和在.cpp文件中包含头文件的原则

1、 第一个原则:如果可以不包含头文件,那就不要包含了,这时候前置声明可以解决问题。如果使用的仅仅是一个类的指针,没有使用这个类的具体对象(非指针),也没有访问到类的具体成员,那么前置声明就可以了。因...
  • Zzhouzhou237
  • Zzhouzhou237
  • 2017年06月25日 20:35
  • 483

C++ 在.h文件中声明,在.cpp文件中定义 模板函数和模板类

C++ 需要模板函数的定义和声明要放在一起,这样才能根据调用需要选择编译具体的实例。如果我们需要多种实例,每个实例要编译一次,就需要编译多次。在模板函数实现妥当以后,当我们在其它文件中使用某些模板函数...
  • bendanban
  • bendanban
  • 2016年05月05日 12:39
  • 3140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++中.h和.cpp中具体应该写什么内容
举报原因:
原因补充:

(最多只允许输入30个字)