解决C&C++头文件互相包含问题

2023-05-16

案例说明:test1中需要调用test2中的go_test2,test2中需要调用test1中的go_test1

main.cpp

#include <lontern.h>
#include "test1.h"
#include "test2.h"
int main() {
	test1 t1;
	t1.print_test1();

	test2 t2;
	t2.print_test2();
}


test1.h

#pragma once
#include <lontern.h>
//#include "test2.h"  取消这里的头文件引用,添加到CPP中
class test2;  //声明test2
class test1
{
	test2* t2;
public:

	void print_test1();
	void go_test1();
};


test1.cpp

#include "test1.h"
#include "test2.h"
void test1::print_test1()
{
	cout << "print_test1" << endl;
	//t2.print_test2();  取消 用指针的方式调用
	t2->go_test2();
}

void test1::go_test1()
{
	cout << "go_test1" << endl;
}


test2.h

#pragma once
#include <lontern.h>
//#include "test1.h"  取消这里的头文件引用,添加到CPP中
class test1; //声明test1
class test2
{
	test1* t1;
public:
	void print_test2();
	void go_test2();
};

test2.cpp

#include "test2.h"
#include "test1.h"
void test2::print_test2()
{
	cout << "print_test2" << endl;
	//t1.go_test1();  取消 用指针的方式调用
	t1->go_test1();
}
void test2::go_test2()
{
	cout << "go_test2" << endl;
}




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决C&C++头文件互相包含问题 的相关文章

  • 3.17 开发一个插件

    打开动态链接库 void dlopen const char filename int flag 返回一个操作句柄void Handle 61 dlopen libct so RTLD LAZY RTLD LAZY xff1a 解析动态库遇
  • 5.7 属性声明

    5 7 属性声明 主要用途 使用 attribute 来声明变量 函数的特殊属性 指导编译器来进行特定方面的优化或代码检查 使用方法 在声明后面添加 xff1a attribute ATTRIBUTE 例 xff1a int global
  • 8.18 模块设计原则:高内聚低耦合

    8 18 模块设计原则 xff1a 高内聚低耦合 模块内聚 定义 xff08 软考 xff09 块内联系 xff1a 模块内各元素的关联 交互程度 从功能角度 xff1a 自己的功能自己实现 xff0c 不麻烦其它模块 如何实现高内聚 功能
  • 9.12 中断(下):中断函数的编写

    9 12 中断 下 xff1a 中断函数的编写 中断特性 可随时打断正在执行的任务 可在任何地方打断正在执行的任务 中断返回后 xff0c CPU不一定重新执行被打断的任务 中断函数 调用时间不固定 xff1a 中断要自己保护现场 调用地点
  • 9.16 内存、外存与外设

    9 16 内存 外存与外设 按速度排列 寄存 缓存 内存 外存 存储分类 内存 又称主存 xff1a CPU能直接寻址的存储空间 存取速度快 包括 xff1a RAM ROM cache等 外存 又称辅存 xff1a 除CPU缓存和内存以外
  • 载波相位测量原理

    1 重建载波 定义 xff1a 载波调制了电文之后变成了非连续的波 xff0c 将非连续的载波信号恢复成连续的载波信号 码相关法 xff1a 方法 将所接收到的调制信号 xff08 卫星信号 xff09 与接收机产生的复制码相乘 技术要点
  • wpa_suplicant 详解 文章收集

    wpa suplicant 详解 文章收集 参考资料 https w1 fi wpa supplicant devel index html https zhuanlan zhihu com p 24246712 https www cnb
  • 玩转AOSP源码编译

    整理搬运一下大佬的文章 https www bilibili com video BV19f4y1r7E6 http liuwangshu cn batcoder aosp 3 compiling aosp html 1 前言 1 1 re
  • Qt 64位链接 mysql8.0 中出现的问题及其解决办法

    1 driver not loaded 原因总结 MinGW编译器中找不到 MySql驱动或者驱动位数不对MinGW编译器找不到 MySql动态库或者动态库有问题代码写的有问题 https blog csdn net l0p0c artic
  • Linux man 手册中各种括号的含义

    尖括号 lt gt 一般用于表示必选项或者参数的占位符 xff0c 实际使用时需要替换成具体的值 方括号 一般用于表示可选项或者参数的占位符 xff0c 实际使用时可以选择是否包含该选项或者参数 大括号 一般用于表示一组选项或者参数 xff
  • 批量创建 markdown 文件的脚本

    写一个 dos脚本 xff0c 其功能是创建 36 个 以 34 Linux内核编程 ch11 sec 34 为开头的 Markdown格式的文件 64 echo off chcp 65001 setlocal enabledelayede
  • libcurl库的http get和http post使用

    一 libcurl中的http get使用方法 1 为什么要使用libcurl 1 作为http的客户端 xff0c 可以直接用socket连接服务器 xff0c 然后对到的数据进行http解析 xff0c 但要分析协议头 xff0c 实现
  • Postman查看完整的请求报文

    第一步 工具栏 View gt Show postman console 第二步 点击 Show Postman Console 之后 就会弹出一个如下图所示的界面 小窍门 postman可以把请求的参数生成代码 可以在代码使用 仅仅只需点
  • 通用异步接收器/发送器(UART)——发送与接收

    图1 带数据总线的UART UART代表通用异步接收器 发送器 它不是像SPI和I2C这样的通信协议 xff0c 而是微控制器中的物理电路或独立的IC UART的主要目的是发送和接收串行数据 关于UART最好的一点是其仅使用两条线在设备之间
  • MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

    最近在学习MySQL xff0c 刚入门 xff0c 在导入数据的时候出现了Error 1290 xff1a The MySQL server is running with the secure file priv option so i
  • openmv--无人机通过mavlink实现apriltag定点降落

    span class token comment 无人机通过mavlink实现apriltag定点降落例程 span span class token comment span span class token comment 这个脚本使用
  • [转] 用WWW-Authenticate实现登录验证

    用WWW Authenticate实现登录验证 文章来源 xff1a http www keakon cn bbs thread 1989 1 1 html 今天在研究HTTP协议时发现一个叫WWW Authenticate的头字段 xff
  • ROS--坐标理解

    北东地坐标系 NED north east down 东北天 ENU east north up 机体坐标系 body frame 载体坐标系 是以载体为中心 xff0c 主要作用是处理与传感器直接测得的物理量 导航坐标系 可以是地固坐标系
  • qt 编译qgc常见问题

    qt LINK warning LNK4098 默认库 MSVCRT 与其他库的使用冲突 xff1b 请使用 NODEFAU 如果以前没有问题 xff0c 突然出现的这个问题 xff0c 绝大可能是中间编译过程太多造成的 清理项目 重新构建
  • VINS-FUSION-GPU在jetson nx上的实现

    需要安装经过修改的Ubuntu18系统 https span class token operator span span class token comment developer nvidia com zh cn embedded do

随机推荐

  • 主机ping通虚拟机,虚拟机ping通主机解决方法(NAT模式)

    主机ping通虚拟机 xff0c 虚拟机ping通主机解决方法 xff08 NAT模式 xff09 有时候需要用虚拟机和宿主机模拟做数据交互 xff0c ping不通是件很烦人的事 xff0c 本文以net模式解决这一问题 宿主机系统 xf
  • 一个基于Matlab的简单Gui设计

    前几日浩子说要编一个基于Matlab的用户图像界面 xff0c 他用GUIDE搭了一个大概的框架 xff0c 大概要实现数据读入 做图分析 图像清除 关闭界面的功能 xff0c 我用函数形式给改编了一个 xff0c 虽然问题比较简单 xff
  • 关于N步相移中相位噪声仿真分析的一点说明

    在条纹投影的三维测量中 xff0c 有这么一个经典的结论 xff1a 假设光强的噪声为方差为 2 xff0c 那么 xff0c 经过N步标准相移求得的相位的方差为2 2 N B 2 xff08 xff09 xff0c 其中 xff0c B为
  • 如何给MFC对话框添加背景图片

    一 创建项目 文件 新建项目 MFC应用程序 该页面使用 基于对话框 完成即可 注意 取消 使用Unicode库 否则在使用AfxMessageBox会报错 xff0c 没有一个可以转换的参数类型 xff0c 要加AfxMessageBox
  • 如何检测应用程序调用了哪些DLL文件?

    之前所用的检测工具是Dllshow xff0c 后来突然不能用了 xff0c VS以前有Depends xff0c 后来高级版本也没了 最近找到一种简单方便的方法 xff0c 利用windowsx系统自带的功能 运行你想知道的应用程序 xf
  • 网络编程懒人入门(一):快速理解网络通信协议(上篇)

    1 写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统 xff0c 很多时候连基本的网络编程理论 xff08 如网络协议等 xff09 都不了解 xff0c 就贸然定方案 写代码 xff0c 显得非常盲目且充满技术风险 即时
  • Matlab中调用C++dll

    利用mex技术可以实现这个功能 xff0c 但是必须例外写一个接口函数 xff0c 比较麻烦 利用dll调用的方法 xff0c 简单方便 下面就以实现加法函数add 为例 xff0c 来详细介绍具体过程 一 利用VS生成dll文件 利用VS
  • 大小端序与端序转换

    最近在做客户项目的时候 xff0c 遇到了不同厂家的安防相机输出的数据大小端序不一致的情况 xff0c 导致在使用同一种方式处理时 xff0c 出现了错误 虽然问题已经解决 xff0c 还是顺手把大小端序的知识简单梳理一下 1 大端序和小端
  • debian ware source

    deb http ftp cn debian org debian jessie main non free contrib deb http ftp cn debian org debian jessie proposed updates
  • debian中文输入法——拼音和五笔的解决方法

    最近安装Debian操作系统 xff0c 但遇到一个重大的困惑 xff0c 那就是为什么Debian菜单里面有一个Fcitx的选项 xff0c 但是为什么就是无法调出前端来实现输入 xff0c 这是个大问题 xff0c 于是就研究 xff0
  • YOLOv5图像分割中的NMS处理

    在上一篇文章YOLOv5图像分割 SegmentationModel类代码详解有讲到图像经过YOLOv5网络后得到的输出形式 xff0c 主要是调用了BaseModel类下的forward得到的输出 xff0c 输出的shape为 batc
  • YOLO之trt推理+Diou/iou目标跟踪以及计数【附代码】

    本篇文章是对之前YOLOv4 tensorrt推理项目的更新 xff0c 在trt推理 xff0c 多进程语音报警的功能中又新添加了目标跟踪 可用于目标计数 采用IOU进行跟踪 也可以选用DIOU yolov4 43 deepsort可以参
  • yolov5_reid【附代码,行人重识别,可做跨视频人员检测】

    该项目利用yolov5 43 reid实现的行人重识别功能 xff0c 可做跨视频人员检测 应用场景 xff1a 可根据行人的穿着 体貌等特征在视频中进行检索 xff0c 可以把这个人在各个不同摄像头出现时检测出来 可应用于犯罪嫌疑人检索
  • src目录和项目路径的联系

    code src目录里面的东西会被eclipse编译 xff0c 编译完了就放到了 bin目录下 xff0c 而bin目录就是我们项目的classPath code
  • 逆向加固分析

    34 libsecexe so 34 34 梆梆加固免费版 34 34 libsecmain so 34 34 梆梆加固免费版 34 34 libSecShell so 34 34 梆梆加固免费版 34 34 secData0 jar 34
  • android之visibility的三个属性

    android visibility 61 34 34 其有三个属性 xff1a visible显示 xff1b invisible显示黑背景条 xff0c 在这种情况下它会占据空间 xff1b gone不显示 在类中 xff0c 可以设置
  • android中的Application类

    在2011年做的一个iptv项目中就接触了这个Application类 xff0c 虽用起来简单 xff0c 但还是有些需要注意的地方 空闲之余 xff0c 总结如下 xff1a android 系统为每个程序运行时创建一个Applicat
  • android混淆

    首先要说的话 xff1a 本文是对好几个博文的摘录再加上我自己的理解 xff0c 以尊重原创为原则 xff0c 下面贴出相关博文的链接 Android有效地减少方法数 http blog csdn net lihenair article
  • ROS通信

    1 话题通信 话题通信是ROS中使用频率最高的一种通信模式 xff0c 话题通信是基于发布订阅模式的 xff0c 也即 一个节点发布消息 xff0c 另一个节点订阅该消息 用于不断更新的 少逻辑处理的数据传输场景 ROS Master 管理
  • 解决C&C++头文件互相包含问题

    案例说明 xff1a test1中需要调用test2中的go test2 xff0c test2中需要调用test1中的go test1 main cpp span class token macro property span class