gpt4 book ai didi

C++ 问题 : feature similar to Obj-C protocols?

转载 作者:可可西里 更新时间:2023-11-01 14:58:58 26 4
gpt4 key购买 nike

我习惯于在我的代码中使用 Objective-C 协议(protocol);他们在很多事情上都令人难以置信。但是,在 C++ 中,我不确定如何完成同样的事情。这是一个例子:

  1. TableView ,它有一个函数 setDelegate(Protocol *delegate)
  2. 类 Class 的委托(delegate),但实现协议(protocol)“Protocol”
  3. Class2 类的代表,也实现了“协议(protocol)”
  4. setDelegate(objOfClass) 和 setDelegate(objOfClass2) 都是有效的

在 Obj-C 中这很简单,但我不知道如何在 C++ 中做到这一点。有可能吗?

最佳答案

基本上,不是“协议(protocol)”,而是“具有纯虚函数的基类”,有时在其他语言中称为接口(interface)。

class Protocol
{
public:
virtual void Foo() = 0;
};

class Class : public Protocol
{
public:
void Foo() { }
};

class Class2 : public Protocol
{
public:
void Foo() { }
};

class TableView
{
public:
void setDelegate(Protocol* proto) { }
};

关于C++ 问题 : feature similar to Obj-C protocols?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com