将目标C协议转换为C+中的等效协议+; 我正在从Obj-C到C++移植游戏。并将我在Obj-C协议转换为C++中的等价物。我很困惑,在C++中实现同样功能的正确方法应该是什么?

将目标C协议转换为C+中的等效协议+; 我正在从Obj-C到C++移植游戏。并将我在Obj-C协议转换为C++中的等价物。我很困惑,在C++中实现同样功能的正确方法应该是什么?,c++,objective-c,C++,Objective C,请告知 @protocol A <NSObject> -(void) B:(NSObject*)data; @end @interface callBack: NSObject { id<A*> delegate; } @协议A -(作废)B:(NSObject*)数据; @结束 @接口回调:NSObject { id代表; } 您可以实现类似于使用纯虚拟方法创建类的协议。 遵守该协议将要求覆盖此类方法 “议定书”宣言 class ImageDe

请告知

@protocol A <NSObject>

    -(void) B:(NSObject*)data;

@end


@interface callBack: NSObject
{
    id<A*> delegate;
}
@协议A
-(作废)B:(NSObject*)数据;
@结束
@接口回调:NSObject
{
id代表;
}

您可以实现类似于使用纯
虚拟方法创建类的协议。
遵守该协议将要求覆盖此类方法

“议定书”宣言

class ImageDelegate {
    public:
        virtual void getImage(UIImage *) = 0;
}
然后参考
ImageDelegate*
,就像您使用
id

最后,您需要一个实现“protocol”的类,这意味着重写“protocol”类的纯
virtual
方法


最后一句话请使用大写的类名称。

您可以实现类似于使用纯
虚拟
方法生成类的协议。
遵守该协议将要求覆盖此类方法

“议定书”宣言

class ImageDelegate {
    public:
        virtual void getImage(UIImage *) = 0;
}
然后参考
ImageDelegate*
,就像您使用
id

最后,您需要一个实现“protocol”的类,这意味着重写“protocol”类的纯
virtual
方法


作为最后的注释<强>请< /强>使用大写的类名称。

最接近的C++概念是多重继承。转换的哪部分是你遇到的问题?我看这里没有问题。让我给你一段代码。谢谢。有关的问题和最接近的C++概念是多重继承。转换的哪部分是你遇到的麻烦?我看这里没有问题。让我给你一段代码。谢谢。相关问题和。非常好。非常感谢您的及时帮助。这就是我要找的:-)太好了。非常感谢你的及时帮助。这就是我要找的:-)
class YourClassConformingToTheProtocol : public ImageDelegate {
    public:
        virtual void getImage(UIImage *image) {
            //do stuff
        }
}