c++中的.h和.cpp文件中都该写什么?

c++学习的一点小笔记(1)c++中的

本文转载自:https://blog.csdn.net/lyanliu/article/details/2195632

1.头文件(.h)

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

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

 #ifndef CIRCLE_H
 #define  CIRCLE_H

 // 你的代码写在这里

 #endif

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

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

2.源文件(.cpp)

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

3.举个例子:求圆面积

1.新建一个空工程(以在VS2017环境为例)
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文件与头文件相对应。

4.建一个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类可以用了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值