“class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用

“class”类型重定义  :

  一般都是头文件重复include引起的。

防止头文件重复加载:

  系统那些头文件,无论怎么include都没事,因为一般都用了宏定义,防止重复。

  在头文件最上方写:

  #ifndef XXXXXXX (一个名字,尽量做到唯一)

  #define XXXXXXX (跟上边的名字一样)

  文件最后写:

  #endif

两个类之间互相引用:

  A.H:

  class A{

    B* b;

  }

  B.H:

  class B{

    A* b;

  }

  就这样互相include后,肯定会出错。

  需要在各自的声明前边,加上对方的声明,变成:

  A.H:

  class B;

  class A{

    B* b;

  }

  B.H:

  class A;

  class B{

    A* b;

  }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏me的随笔

使用CodeFirst创建并更新数据库

在使用Entity Framwork的三种方式(ModelFist、DBFirst、CodeFirst)中,CodeFirst方式书写的代码最为干净。

1144
来自专栏java学习

Hibernate学习笔记2

定义hbm.xml映射文件和pojo类时都需要定义主键,Hibernate中定义的主键类型包括:自然主键和代理主键:

884
来自专栏Java技术分享

高并发分布式系统中生成全局唯一Id汇总

数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。 单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求:    1 不能有单...

2195
来自专栏我的博客

TP入门第三天

1、系统常量 TP2.1版本:(蓝色是3.0中去掉) __ROOT__  : 网站根目录地址  __APP__  : 当前项目(入口文件)地址  __GROUP...

2645
来自专栏FreeBuf

利用SQLite数据库文件实现任意代码执行

前言 近期,我们对贝尔金WeMo智能家居设备的安全性进行了分析。在研究过程中,我们开发出了一种新型的SQL注入技术,这项技术针对的是SQLite数据库。实验表明...

21710
来自专栏Java技术分享

高并发分布式系统中生成全局唯一Id汇总

数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。 单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求:    1 不能有单点故...

2585
来自专栏IT可乐

mybatis 详解(八)------ 懒加载

  本章我们讲如何通过懒加载来提高mybatis的查询效率。   本章所有代码:http://pan.baidu.com/s/1o8p2Drs 密码:trd6 ...

2529
来自专栏别先生

一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。

1:Struts2表单数据校验:   (1)前台校验,也称之为客户端校验,主要是通过Javascript编程的方式进行数据的验证。   (2)后台校验,也称之为...

1807
来自专栏小樱的经验随笔

BugkuCTF SQL注入1

1554
来自专栏青玉伏案

Swift3.0服务端开发(五) 记事本的开发(iOS端+服务端)

前边以及陆陆续续的介绍了使用Swift3.0开发的服务端应用程序的Perfect框架。本篇博客就做一个阶段性的总结,做一个完整的实例,其实这个实例在《Swift...

2087

扫码关注云+社区