Seite 1 von 1

Slots definieren

Verfasst: 8. Mai 2008 17:51
von FreakyBKA
Hallo,
ich ist möglich alle Methoden eines Objekts von dem ich ableite als slots zu deklarieren?
Bsp.:

Code: Alles auswählen

class base
{
  public:
    void foo();
  //...
}

class derived : public base
{
  QOBJECT
  public slots:
  //...
  //zB soll base::foo() als slot zur verfügung stehen
}
das problem ist das in meinem fall die derived-klasse sehr viele methoden erbt und die möchte ich gerne alle als slots verwenden können, ohne dafür in der basis-klasse was ändern zu müssen. geht das irgendwie sehr kurz zu machen, alle methoden von base als slots zu deklarieren?
wäre sehr dankbar für hilfe bzw auskünfte.

Verfasst: 8. Mai 2008 19:00
von upsala
Entweder gleich in base als Slot definieren, oder in derived alle überladen,,,

Verfasst: 9. Mai 2008 16:47
von FreakyBKA
die base-klasse möchte ich ja gerade unberührt lassen.
das ist dann allerdings sehr umständlich wenn man eine klasse hat bei der man 20 Methoden hat die man auch als Slot nutzen möchte und die jetzt alle überladen muss :-( würde das denn auch mit using funktionieren?
also im obigen Bsp:

Code: Alles auswählen

class derived : public base
{
  QOBJECT
  public slots:
    using void base::foo();
  //...
}

Verfasst: 9. Mai 2008 20:35
von upsala
Wie wäre es, wenn du es selbst mal testen würdest?

Verfasst: 9. Mai 2008 21:27
von FreakyBKA
mit using gehts leider nicht, da meckert der compiler rum das using bei slots nicht erlaubt ist.