How to pass a method as parameter?

后端 未结 2 1215
南笙
南笙 2020-12-31 22:32

Having this class :

class Automat
{
private:
    // some members ... 
public:
    Automat();
    ~Automat();
    void addQ(string& newQ) ; 
    void addC         


        
2条回答
  •  醉酒成梦
    2020-12-31 22:46

    What you try to do is usually known as closure, a concept strong in functional programming. Rather than reinventing the wheel, I suggest you look into Boost::Phoenix, which provides this in a nice, peer reviewed library.

    http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/index.html

    However, since C++ is a statically typed language, you will have to do some marshalling. There is no such thing like a generic function (object) in C++.

提交回复
热议问题