目录

1. 头文件概述

2. 头文件编写格式及要求

3. 头文件引用的源文件编写要求

4. 主函数的调用

5. 其他函数...

6. 放松时刻


1. 头文件概述

对于一些大型程序而言,分文件编写尤为重要,进而引申出了编写头文件的相关需求。

2. 头文件编写格式及要求

2.1 第一步,在第一行写明,#program once,主要是为了防止头文件被重复引用。由于是第一次接触,详细还请参照这篇文章。->C语言 #pragma once - C语言零基础入门教程

2.2 第二步,引入代码使用的头文件;

2.3 第三步,将头文件所引用的文件的变量,及函数的声明写入头文件中。

如:Circle.h

#pragma once
#include <iostream>
#include "Point.h"    // include写好的点类头文件using namespace std;class Circle    // 定义一个圆的类
{Point Cir_cen;    // (点类)圆心int Cir_R;    // 半径
public:void setCir(int x, int y, int r);    // 初始化圆的属性int Get_R();    // 得到圆的半径double Distance(Point& p);    // 判断一个点和圆的关系
};

3. 头文件引用的源文件编写要求

3.1 第一步,include编写过程中用到的头文件,和对应的头文件;

3.2 第二步,编写函数,对于头文件中声明的函数,应当在函数名前面写清楚函数的作用域是哪个类的。

如:Circle.cpp

#include<iostream>
#include"Circle.h"void Circle::setCir(int x, int y, int r)
{ Cir_cen.Set_x(x); Cir_cen.Set_y(y);Cir_R = r;
}int Circle::Get_R()
{return Cir_R;
}double Circle::Distance(Point& p)
{return pow((pow((p.Get_x() - Cir_cen.Get_x()), 2) +pow((p.Get_y() - Cir_cen.Get_y()), 2)), 0.5);    // 计算点到圆心的距离
}

4. 主函数的调用

main.cpp

#include <iostream>
#include <math.h>
#include "Point.h"
#include "Circle.h"using namespace std;int main()
{Circle c;Point p;int x, y, r;   // 点的坐标(x, y)和圆的半径double dis;    // 两点间距离cout << "依次输入圆心的坐标(x, y)和半径:";cin >> x >> y >> r;c.setCir(x, y, r);cout << "输入点的坐标(x, y):";cin >> x >> y;p.Set_x(x); p.Set_y(y);dis = c.Distance(p);if (dis != c.Get_R()){if (dis > c.Get_R()) {cout << "点在圆外,距离圆心" << dis << "处" << endl;}else {cout << "点在圆内,距离圆心" << dis << "处" << endl;}}else{cout << "点在圆上" << endl;}system("pause");return 0;
}

5. 其他函数...

Point.h

#pragma once
#include<iostream>
using namespace std;class Point
{int P_x;int P_y;
public:void Set_x(int x);void Set_y(int y);int Get_x();int Get_y();
};

Point.cpp

#include "Point.h"void Point::Set_x(int x)
{P_x = x;
}void Point::Set_y(int y)
{ P_y = y;
}int Point::Get_x()
{ return P_x;
}int Point::Get_y()
{ return P_y;
}

6. 放松时刻

C++学习日记——头文件的编写相关推荐

  1. Linux学习日记之文件权限

    Linux学习日记之文件权限 2021-2-19 一.查看文件权限 1.查看当前目录下的文件(只显示文件名) ls 2.查看当前目录下的文件(使用较长格式列出文件) 不妨以第二行为例,来看一看这些字符 ...

  2. ROS学习笔记-roslaunch文件的编写用sh脚本控制launch文件启动顺序

    转载自:https://mp.weixin.qq.com/s?__biz=MzUyMTkxODQyOQ==&mid=2247484719&idx=1&sn=27b3a01c29 ...

  3. 09C语言高级篇之头文件的编写

    C语言高级篇之头文件的编写 1.extern理解 ​ 1.extern,声明,当然也可以同时定义(一般没必要),函数可以省略,使用该关键字定义变量称做"外部变量声明" ​ 2.ex ...

  4. c语言头文件_C语言学习之头文件的原理和使用方法

    头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指令 #i ...

  5. wmm的学习日记(文件上传漏洞)

    这个星期正式学习了一下文件上传漏洞,虽然之前也有接触过这样的题目,但还是云里雾里的感觉.现在应该可以不靠题解完完全全靠自己的脑子做一些简单的题目啦.接下来就让我浅浅总结一下吧. 目录 文件上传漏洞简介 ...

  6. c语言如何编写头文件,如何编写自己的C语言头文件

    一些初学c语言的人,不知道头文件(*.h文件)原来还可以自己写的.只知道调用系统库函数时,要使用#include语句将某些头文件包含进去.其实,头文件跟.c文件一样,是可以自己写的.头文件是一种文本文 ...

  7. c语言字符串强制类型转换,C语言学习九 —头文件强制类型转换错误处理

    预处理器 C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤.简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理.我们将把 C 预处理器( ...

  8. C语言再学习 -- 常用头文件和函数(转)

    参看:C/C++常用头文件及函数汇总 linux常用头文件如下: POSIX标准定义的头文件 <dirent.h>        目录项 <fcntl.h>         文 ...

  9. linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件

    //所有模块都需要的头文件#include // init&exit 相关宏MODULE_LICENSE("GPL");static int __init hello_in ...

  10. C语言semaphore头文件,C语言再学习 -- 常用头文件和函数

    Linux常用头文件如下: POSIX标准定义的头文件 < dirent.h>        目录项 < fcntl.h>         文件控制 < fnmatch. ...

最新文章

  1. oracle数据库性能awr,常见问题:如何使用AWR报告来诊断数据库性能问题
  2. linux cp -d复制软链接文件
  3. linux help命令编写,Linux shell命令帮助格式详解
  4. 开源考试系统 - 本地代码调试运行
  5. 二进制十六进制相互转换
  6. 海报素材模板|超好看的新年素材,你真的不来看一看吗?
  7. c语言 poll,c语言 linux 中 poll 的参数
  8. 取得textarea中行的三种写法
  9. Windows下使用TeamViewer连接远程服务器,以及解决“远程桌面关闭后TeamViewer不能连接”的问题
  10. AxInterop.ShockwaveFlashObjects.dll 问题
  11. 使用SCM管理jenkinsfile
  12. 什么是 Office Open XML 文件格式
  13. 设置gvim中横竖光标_VIM配置高亮光标所在行和所在列
  14. 微信小程序:for循环与if判断
  15. linux 笔记本调整屏幕亮度的方法
  16. GCP/临床试验基础知识集锦
  17. php设置header头实现将视频下载到客户端
  18. 从生命起源到流行病:复杂系统中的多尺度涌现现象
  19. 财富自由:当你实现财富自由就无需为钱而工作!
  20. 《疯狂Java讲义》读书笔记2

热门文章

  1. 手机邮件html样式,iPhone技巧篇 如何添加HTML风格邮件签名
  2. 【Mongodb】常用的一些功能
  3. SLAM高翔视频第二讲萝卜习题
  4. 二维特征分类的基础_用特征提取技术降低数据集维度,你学会了吗?
  5. C#如何在VS2015 2017版本中编写WPF UI界面引入第三方SVG图形
  6. dpi和ppi换算_十分钟快速理解DPI和PPI,不再傻傻分不清!
  7. JS获取ul中li的值同步到搜索框
  8. EPP-常见问题总结
  9. nuxt项目当中出现The client-side rendered virtual DOM tree is not matching server-rendered content
  10. nginx在linux reload报错,nginx reload和reopen