比如有个类ABC要在main.cpp内使用,创建两个文件 ABC.h,ABC.cpp。
把类的声明都写在h里面,方法的实现写在cpp里面,然后在main.cpp内#include “ABC.h”,然后编译,如果是工程就把ABC都加到工程里,如果不是就要手动链接了。
头文件只是提供声明,#include了头文件是保证main.cpp知道了接口。而链接才是把类ABC的代码加入到生成的可执行文件中。既要知道接口有要代码实现,才能使用ABC。
最好将类的声明放在.h文件,类的定义放在.cpp文件,如若将类的声明和定义都放在.h文件,当多个文件同时包含这个.h文件会出现建置错误,因为你重复定义了。正确格式如下:

test01.h
class A
{
private:
int a;
public:
A(int n):a(n){}
int GetA() const;
};
test01.cpp
#include "test01.h"
int A::GetA() const
{
return a;
}

C++将类写在头文件中相关推荐

  1. html中css文件怎么写,HTML 头文件中 CSS 怎么写?

    HTML 头文件中 CSS 怎么写? 在 html 头文件 < head> 中 CSS 怎么写? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有 ...

  2. VS2019中在源文件中如何使用自己写的头文件(保姆级教程)

    VS2019中在源文件中如何使用自己写的头文件 前言 开始教程 建立一个头文件 建立头文件对应的.cpp文件 在其余源文件中使用 可能出现的错误 前言 一个完整的头文件应该分为:.h文件与.cpp文件 ...

  3. C++中头文件中定义的变量

    1.在头文件.h中定义static变量,如: static int x;其实就等效于每个引用该头文件的源文件中,定义一个变量名为x的整型静态全局变量,每个文件中的x变量均属于本源文件,各文件中的互不相 ...

  4. 将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

    将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中 写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由 ...

  5. C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接

    1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...

  6. C语言如何使用其他文件定义的结构体?(C++报错:无法转换到不完整的类【需在头文件中定义结构体??】)

    文章目录 20210725 但是,我在使用的时候报错提示:无法转换到不完整的类?? 20210726 这样? 调用时直接加个extern就好,头文件管都不用管? 20210725 但是,我在使用的时候 ...

  7. Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件

    第二条:类的头文件中尽量少引入其他头文件 使用向前声明(forward declaring) @class EOCEmployer 1, 将引入头文件的实际尽量延后,只在确有需要时才引入,这样就可以减 ...

  8. 怎么在html文件中写css文件,html头文件中css怎么写?

    html头文件中写css的方法:1.将css的样式代码写在html文档头文件<head></head>中的<style></style>标签中:2.在网 ...

  9. 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp。请完善该程序,在类中增加。。。

    C++程序设计(第三版) 谭浩强 习题8.4 个人设计 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数 ...

最新文章

  1. java 回滚异常_回滚事务并关闭抛出异常的连接
  2. python学会了能做什么-学会Python后都能做什么?介绍五种Python的实用场景
  3. Laya 位图字体制作(失败...)
  4. CTFshow 命令执行 web62
  5. 【Tools】Ubuntu20.04安装VMware Tools详解
  6. TCP连接之报文首部
  7. CF840D. Destiny
  8. 宝塔 php5.6 极速安装_cltphp5.6.6版本安装教程-宝塔练手
  9. Java实训项目:GUI学生信息管理系统(2019)【上】
  10. Java面向对象之构造方法、构造方法重载
  11. Linux操作系统原理与应用06:系统调用
  12. Linux find并移动mv 14天前的文件
  13. Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
  14. 在cmd下载清华镜像
  15. 吉林大学计算机专业英语,2011年4月吉林大学自考复习题——计算机专业英语2
  16. js为li列表添加点击事件
  17. 淘宝之初:湖畔花园小区里诞生的巨人
  18. AD19画原理图和PCB注意事项和步骤(主要为PCB和总结注意事项)
  19. python pandas读取excel时动态确定标题行所在行数
  20. git submodule添加和删除

热门文章

  1. 这些在 App Store 中找不到的 Mac 常用软件
  2. oracle asm无法关闭,ASM无法关闭 - Oracle专题深入讨论 - ITPUB论坛-中国专业的IT技术社区...
  3. GNU开发工具的使用方法
  4. 做食材配送行业,哪个平台软件比较好?
  5. 花了三个月终于把所有的Python库全部整理了!祝你早日拿到高薪!
  6. HZNU Training 2 for Zhejiang Provincial Collegiate Programming Contest 2019
  7. 最小公倍数C语言怎么算,算法:最大公约数和最小公倍数(C语言表示)
  8. ThingJS 3D场景层级切换,体验不一样的动感!
  9. PCB常用端子/排线
  10. 数据库+jdbc实现学生教师管理