打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[C++]命名空间不同的两个类,如何在头文件中做声明

原文作者:@玄冬Wong

问题是这样的,有两个类,且两个类所属命名空间不一样:

 

Cpp代码  
  1. namespace NA  
  2. {  
  3.     class A  
  4.     {  
  5.     }  
  6. }  

 

Cpp代码  
  1. namespace NB  
  2. {  
  3.     class B  
  4.     {  
  5.     }  
  6. }  

 

 

假设B类中有个A的成员变量,然后我们又不想在B类头文件中引用A类的头文件(为了加快编译速度)。

如果是两个都没有命名空间的类,那么好办:

Cpp代码  
  1. class A;  
  2.   
  3. class B  
  4. {  
  5.     A* val;  
  6. }  

 

如果有命名空间了,且命名空间不同,那么命名空间如何处理?

方式如下:

Cpp代码  
  1. namespace NA  
  2. {  
  3.     class A;  
  4. }  
  5.   
  6. namespace NB  
  7. {  
  8.     class B  
  9.     {  
  10.         A* val;  
  11.     }  
  12. }  

 这样就能在B类头文件中不用引用A的头文件了。

 

再说一种情况,如果A类和B类命名空间相同,方式如下:

Cpp代码  
  1. namespace NB  
  2. {  
  3.     class A;  
  4.       
  5.     class B  
  6.     {  
  7.         A* val;  
  8.     }  
  9. }  

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC6.0中重载操作符函数无法访问类的私有成员
namespace & using
头文件交叉定义出现
PHP的命名空间
2 作用域
自动加载
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服