博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++循环包含
阅读量:5142 次
发布时间:2019-06-13

本文共 485 字,大约阅读时间需要 1 分钟。

A.h定义一个类,B.h中也定义一个,
A.h中include B.h,同时A类也定义了一个B类指针,同样B.h include 了A.h,也有一个A类指针,
当然头文件中有pragma once,但是编译时A.cpp说找不到B这个标识符,同样B中也找不到A,好像没包含一样:
 
解决方法:
A.h和B.h互相彼此包含,将导致编译器无休止的彼此包含,所以编译器会报错。正确的做法是采用类前声明,方法避免循环包含。具体做法如下:A.h中写#include "B.h"在A.h中可以直接定义类B的对象;比如 B m_b;而在B.h中不能直接写#include "A.h"应该写class A;//声明B是一个外部类Class B{      A *pA;//声明一个指向A类对象的指针};然后在B.cpp中加入#include "A.h"再在B的构造函数中,使用new方式对pA进行实例化,构建A的类对象,并通过pA在程序中访问。

转载于:https://www.cnblogs.com/wangshuai901/archive/2012/03/13/2393317.html

你可能感兴趣的文章
并发编程简介
查看>>
C++两水杯量出所需水量的小算法
查看>>
基于K-近邻分类算法的手写识别系统
查看>>
使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
查看>>
PC站跳转M站的方法
查看>>
wow 各职业体验(pvp)
查看>>
Streaming的receiver模式
查看>>
[转载]一个人的失败,99%失败于“脾气”
查看>>
【Nowcoder】玩游戏
查看>>
过滤器(Filter)
查看>>
字符串的操作
查看>>
性能优化之Java(Android)代码优化
查看>>
springMVC相关—文件上传
查看>>
由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想
查看>>
uva 1416 Warfare And Logistics
查看>>
欲则不达
查看>>
盒子游戏
查看>>
OpenJudgeP1.10.08:病人排队__(刷题)_水题
查看>>
观察者模式
查看>>
Hadoop分布式文件系统中架构和设计要点汇总
查看>>