Funktion name().connect()?
-
Hallo!
Diese Frage ist vermutlich komisch aber, wieso ist sowetwas möglich:
m_button.signal_clicked().connect(sigc::mem_fun(*this,&MyWindow::on_button_clicked));?
mfg
-
Wenn signal_clicked() eine Referenz zurückgibt: Ja
-
Weil das Object m_button eine Methode signal_clicked() zur verfügung stellt,
die als Ergebnis ein Objekt zurückliefert das die Methode connect()
liefert, wiederum mit den Entsprechenden Parametern.
-
Ergänzend: Der Rückgabewert von signal_clicked() muss nichtmal eine Referenz sein. Ein temporäres Objekt wäre auch vollkommen in Ordnung.
-
Pseudocode:
class A
{
public:
void DoSomething(void)
{ }
};class B
{
public:
static A & GetInst(void)
{
static A TheOnlyOneInstOfA;
return (TheOnlyOneInstOfA);
}
};int main()
{
B Inst;
Inst.GetInst().DoSomething();
return(0);
}Tut mir leid dass ich keine Tags benutze, sitze gerade in der Schule an einem Mac, da kann ich mit der Tastatur keine eckigen Klammern schreiben und die Buttons unter der Texteingabe funktionieren auch nicht

-
Blaze schrieb:
Pseudocode:
class A
{
public:
void DoSomething(void)
{ }
};class B
{
public:
static A & GetInst(void)
{
static A TheOnlyOneInstOfA;
return (TheOnlyOneInstOfA);
}
};int main()
{
B Inst;
Inst.GetInst().DoSomething();
return(0);
}Tut mir leid dass ich keine Tags benutze, sitze gerade in der Schule an einem Mac, da kann ich mit der Tastatur keine eckigen Klammern schreiben und die Buttons unter der Texteingabe funktionieren auch nicht

Und was hat das jetzt mit dem Thema zu tun?
-
Blaze schrieb:
Tut mir leid dass ich keine Tags benutze, sitze gerade in der Schule an einem Mac, da kann ich mit der Tastatur keine eckigen Klammern schreiben
Quark. Alt+5, Alt+6.