gpt4 book ai didi

c++ - C++ 中类似 C# 的事件,组合

转载 作者:太空狗 更新时间:2023-10-29 19:54:51 26 4
gpt4 key购买 nike

在过去的几个月里,我一直在大量使用 C#,并且已经习惯了事件和委托(delegate)。在您的类中使用组合非常容易,只需使用事件从组件获取消息...现在我正在尝试在 C++ 中做类似的事情,但不知道该怎么做。

C++ 中的组合是如何完成的?我想到的唯一方法是继承......你从类派生并覆盖它的函数以接收来自它的输入?还有其他更简单(更好)的方法吗?

进一步解释...

我想写一个这样的可重用组件...

public delegate void OnDataReceivedHanlder(byte[] data);
public class TcpConnection
{
public void Connect(string iP, ushort port);
public void Send(byte[] data);
public event OnDataReceivedHandler OnDataReceived;
}

在 C++ 中...

最佳答案

通常,您将为此使用继承(动态或静态)。或者,您只需使用 std::function< return(args..) > ,它可以绑定(bind)到许多替代方案,如函数对象、函数指针、lambda 函数等。

关于c++ - C++ 中类似 C# 的事件,组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4461093/

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