我正在混合使用 Objective-C 和 C++。但是我想尽量减少使用 Objective-C++。因为它在 Objective-C 和 C++ 中都有一些限制。
目前,我正在这样使用它。
// A.h, Objective-C
#import "B.h"
@interface A
{
B* b;
}
@end
// B.h, Objective-C++
@interface B
{
void* c;
}
// C.h, C++
class C
{
};
我想包含C.h
在 中B.h
,但如果我这样做了,B.h
则无法导入到A.h
. 所以我必须将变量保留c
为void*
类型。这不是一个大问题,因为我可以自由使用文件C
中的成员。B.m
但我总是必须投它。这感觉有些不清楚。所以如果是的话,我想用更好的方法。