`
sinye
  • 浏览: 217610 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c++类之间相互引用

阅读更多

在使用c++时,有两个类  class A、class B。在class A中有一个class B的成员变量,同样,在class B中有一个class A的成员变量,这时候,就需要用到c++的向前申明来解决类的相互引用。解决的准则如下:

A或者B任选一个采用头文件(A.h)引用另一头文件(B.h)的方式不变,而另外一方的头文件(B.h)中则在定义该类之前写一句class A;然后在B的cpp文件中引用A的头文件。

 

A.h

//保留A.h不变,使用#include的方式引入B
#include "B.h" 
class A 
{ 
  B* b; 
} 

 B.h

//在申明B之前,向前申明A
class A; 
class B 
{ 
  A *a; 
} 

 同时

B.cpp

//在B.cpp中要#include A,否则不能调用成员A的任何内容 
#include "A.h" 
B::sayHello{
    
}

 

 

 

1
1
分享到:
评论

相关推荐

    c++ 类的互相调用的方法

    c++ 类的互相调用的方法,是今天弄明白的,这里提供例子和说明给大家参考,从而告诉大家C++中类与类之间的关系,是不能烂用乱用的.希望能给大家启发.

    Halcon C++ 两种数据结构(Hobject和HTuple)

    该文档说明了在Halcon和C++之间如何相互引用数据的问题,即对内存的访问。

    C++ 标准程序库.pdf

    又相互借鉴与利用,如曾经的王者C++被后起之秀Java/C#等借法云梯直上,而今C++11标准则以其人之道还治其身,吸收了Java/C#里的诸多市场成熟养分,如①基于范围for循环、②类移动构造与委托能力扩充、③类初始化方式...

    新手学习C++入门资料

    数字类型和数字类型、指针和指针之间可以相互转换。当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。 long int el=123; short i=(int) ...

    More Exceptional C++英文原版

    作为一个系列,这些书相互之间交叉引用;此外,它们也都引用了Bjarne Stroustrup的著作The C++ Programming Language。 在提高C++程序设计能力的过程中,日益重要的一点是将重要的知识同华而不实的东西分离开来,...

    C++MFC教程

    |------ 3.4 文档,视,框架之间相互作用 |------ 3.5 利用序列化进行文件读写 |------ 3.6 MFC中所提供的各种视类介绍 +-- 第四章 窗口控件 |------ 4.1 Button |------ 4.2 Static Box |------ 4.3 Edit Box |----...

    C++中结构体的类型定义和初始化以及变量引用

    如果在程序中将num,name,sex,age,score,addr分别定义为互相独立的变量,就难以反映出它们之间的内在联系。应当把它们组织成一个组合项,在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。C和C+

    C++网络爬虫项目

    编写单位: 达内IT培训集团 C++教学研发部 编写人员: 闵卫 定稿日期: 2015年11月20日 星期五WEBCRAWLER 网络爬虫实训项目 2 1. 项目概述 互联网产品形形色色,有产品导向的,有营销导向的,也有技术导向的,但是 ...

    C++轻量级通用插件框架源码

    采用智能指针类来管理接口的引用计数及生命期,可从一个接口动态转换为另一个接口(内部采用C++的RTTI机制动态转换),可以区分插件内部的接口引用和插件外部的接口引用。 d) 模块透明部署 一个模块只需要使用其他...

    Visual C++串口通信技术详解.(机械工业.李景峰.杨丽娜.潘恒)

    本书通俗易懂,内容翔实,层次分明,注重知识的系统性、针对性和先进性,注重基础理论与工程实践之间的相互联系。书中实例的源代码均在随书光盘中提供,以方便读者学习和使用。 本书可作为具有一定Visual c++使用...

    Thinking_in_C++_中文版【高清+可搜索+可编辑/复制/粘贴+无密码】

    t y p e i d ( )带有一个参数,它可以是一个对象引用或指针,返回全局t y p e i n f o类的 常量对象的一个引用。可以用运算符“= =”和“!=”来互相比较这些对象。也可以用n a m e ( )来 获得类型的名称。注意,...

    C++实现HeadFirst策略模式设计模式

    让它们之间能够相互替换,此模式让算法的变化独立于使用算法的客户。  Head First设计模式中介绍策略模式时以Duck类作为样例。当中用flyBehavior和quackBehavior两个接口引用变量代表鸭子飞行和鸭子叫这两种行为,...

    QImage 与 HObject相互转换

    主要支持两种格式相互转换,QImage 与 HObjec,在多通道下的转换,其中是一个头文件,可以直接导入引用函数。

    详解设计模式中的中介者模式在C++编程中的运用

    中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 结构图如下: Colleage抽象同事类,而ConcreteColleage是具体同时类,每个具体同事只知道自己的行为,而不了解其他...

    Java你不知道的包装类

    在JAVA程序设计中经常用到一系列类型 ,如int char double 等,可以把他们想像成“基本”类型。  它们显然要特殊对待...  如:基本数据类型之间的相互转换不是都可以制动转换的而你强制转换又会出问题,比如String

    C 结构体 本章要点 概述......

    C/C++第九章 结构体 本章要点: 结构体概述 定义结构体类型变量 结构体变量的引用 ...若将它们定义为相互独立的简单变量,难以反映它们之间的内在联系,此时用户必须要在程序中建立所需的结构体类型。

    设计模式之中介者模式(Mediator)

    中介者模式(Mediator) 用意:用一个中介对象来封装一系列对象间的交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。

    C++设计模式之中介者模式

    前言 我们都知道,这个国际政治是一门很深的学问,不玩政治的人是搞不懂的。那么多的国家,国家之间的关系又及其复杂;就好比现在,美国和中国...中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立

    VC学习大纲 VC学习讲义

    MFC框架程序的几个主要类之间如何获得相互的指针引用。 第十六课: 网络程序的编写,Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过bind与驱动程序建立关系。此后,应用程序送给Socket的...

    深入理解C# 装箱和拆箱(整理篇)

    装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1. 装箱在值类型向引用类型转换时发生 2. 拆箱在引用类型向值类型转换时发生 //1、 // 装箱和拆箱是一个抽象的概念 //2、 // 装箱是将值类型转换为...

Global site tag (gtag.js) - Google Analytics