类A有一个类B的实例作为成员。有时B类的实例想和A类对话。在Objective-C中,我可以执行以下操作:
// A.h
@interface A : NSObject <BDelegate>
@property (nonatomic, retain) B *b;
@end
// A.m
- (void) classBsays {
}
// B.h
@protocol BDelegate
- (void) classBsays;
@end
@interface B : NSObject
@property (nonatomic, assign) id<BDelegate> delegate;
@end
// B.m
@implementation B
- (void) f {
[delegate classBsays];
}
@end
Run Code Online (Sandbox Code Playgroud)
我在C ++中使用类B上的void指针完成了类似的操作。但是,这漏掉了“类B的委托应实现此类方法”这一部分。
如何模仿C ++中的Objective-C协议?
我对 obj-c 非常熟悉,现在我\xc2\xb4m 试图深入研究 C++。
\n\n我正在寻找 obj-c\xc2\xb4s 委托模式的 C++ 等效项。
\n