使用前向声明 另外一个命名空间中的类

本文探讨了C++中如何正确地进行前向声明,特别是针对不同命名空间内的类。通过具体的代码示例,解释了前向声明的作用及常见误区,并对比了几种不同的声明方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 使用前向声明 另外一个命名空间中的类?

C/C++ code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//file01.h
namespace  A01{
class  Aa {...};  //类Aa在这里定义
}
 
---------
//file02.h
 
namespace  A01{
class  Aa;  //前向声明A01中的类Aa;
}
/*
*请问,这里的前向声明,这样写有什么问题?
*还有没有其它更合适的写法?
*为什么 class A01::Aa; 这样作为前向声明,是不行的?
*/
 
namespace  B01{
class  Bb {
...
A01::Aa * ptrAa;  //使用类Aa的指针
...
};
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值