博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++前置声明
阅读量:7192 次
发布时间:2019-06-29

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

hot3.png

1.用来解决两个类之间的强耦合问题,例如:

#include "B.h"  class A  {      B b;  public:      A(void);      virtual ~A(void);  };     #include "A.h"  A::A(void)  {  }      A::~A(void)  {  }  #include "A.h"  class B  {      A a;  public:      B(void);      ~B(void);  };     #include "B.h"  B::B(void)  {  }  B::~B(void)  {  }

上面编译不能通过,可以通过前置声明,然后在需要用到的类中定义该前置声明的_指针或引用_, 然后在指针或引用实例化的地方包含前置声明类的头文件。 此外,前置声明可以减少头文件的包含层次,减少出错可能!

2.前置声明在友元类方法中的应用

如果在一个类A的声明中将另一个类B的成员函数声明为友元函数F,那么类A必须事先知道类B的定义;类B的成员函数F声明如果使用类A作为形参,那么也必须知道类A的定义,那么两个类就互相依赖了。要解决这个问题必须使用类的前置声明。

转载于:https://my.oschina.net/u/221120/blog/646405

你可能感兴趣的文章
发布.net版的struts---nstruts1.0
查看>>
hdu1010(dfs+剪枝)
查看>>
技术交流:和韩永东大哥聊天 之 OSGI
查看>>
oracle 建立索引
查看>>
word里的图片怎么复制出来
查看>>
hdu 2176+hdu 2147
查看>>
数据库——startup,startup mount,startup nomount有什么区别
查看>>
内存分配失败错误处理
查看>>
Siege 3.0 正式版发布,压力测试工具
查看>>
cv:Mat MFC上显示 BitMatToWnd
查看>>
Excel 相关实用计算公式
查看>>
SQL*PLUS命令的使用大全
查看>>
hdu 2897(巴什博弈变形)
查看>>
hdu 1885(状态压缩+bfs)
查看>>
编程艺术第十六~第二十章:全排列/跳台阶/奇偶调序,及一致性Hash算法
查看>>
Hadoop1.2.0开发笔记(五)
查看>>
将SVN Server 创建成后台服务
查看>>
The type or namespace name 'Windows' does not exist in the namespace 'System'
查看>>
mysql索引无效且sending data耗时巨大原因分析
查看>>
ant打包成war包,通过jenkins自动ant构建到tomcat
查看>>