// Taken from https://developer.gnome.org/libsigc++-tutorial/stable/ch02.html


#include <sigc++/sigc++.h>
#include <iostream>

class AlienDetector
{
public:
    AlienDetector() {}

    void run() {}

    sigc::signal<void> signal_detected;
};

void warn_people()
{
    std::cout << "There are aliens in the carpark!" << std::endl;
}

int main()
{
    AlienDetector mydetector;
    mydetector.signal_detected.connect( sigc::ptr_fun(warn_people) );

    mydetector.run();

    return 0;
}