Lok24
11.09.2020, 13:49

Editiert von
Lok24
11.09.2020, 15:30

Kurze Frage an die c++-Spezialisten

Moin,

habe hier ein kleines Programmblem, für das ich eine elegante Lösung suche.

- Drei Klassen mit 3 Ojekten
- Dreimal der Aufruf von "Hubconnect"
- Dreimal identisches "hub.DoSomething;"

Wie vermeide ich den code für hub.DoSomething dreimal zu schreiben?
Evtl gar nicht?

THX

===============================================

PoweredUpRemote FB;
ControlPlusHub T-Hub;
PoweredUpHub Train;

hubconnect(FB);
hubconnect(T-Hub);
hubconnect(Train);

void hubconnect(PoweredUpRemote& hub)
{
hub.DoSomething;
}

void hubconnect(ControlPlusHub& hub)

{
hub.DoSomething;
}

void hubconnect(PoweredUpHub& hub)
{
hub.DoSomething;
}



Andi
11.09.2020, 14:35

Als Antwort auf den Beitrag von Lok24

Re: Kurze Frage an die c++-Spezialisten

Hi
Du könntest daraus eine Funktion machen und dann nur die Funktion 3x aufrufen.

gruß
Andi



Lok24
11.09.2020, 14:41

Als Antwort auf den Beitrag von Andi

Editiert von
Lok24
11.09.2020, 14:46

Re: Kurze Frage an die c++-Spezialisten

Andi hat geschrieben:

Du könntest daraus eine Funktion machen und dann nur die Funktion 3x aufrufen.

Ja, das dachte ich auch zuerst, aber der Funktion muss ich doch wieder die Klasse mitgeben, und das sind drei verschiedene.
Ich kann ja nicht schreiben myfunc(hub), sondern ich muss doch schreiben myfunc(PoweredUpHub& hub);
Oder?



JuL
02.03.2021, 08:31

Als Antwort auf den Beitrag von Lok24

Re: Kurze Frage an die c++-Spezialisten

Saluton!

Ist schon lange her und nicht, daß ich auch nur annähernd ein C++-Experte wäre …

Lok24 hat geschrieben:

Andi hat geschrieben:
Du könntest daraus eine Funktion machen und dann nur die Funktion 3x aufrufen.

Ja, das dachte ich auch zuerst, aber der Funktion muss ich doch wieder die Klasse mitgeben, und das sind drei verschiedene.
Ich kann ja nicht schreiben myfunc(hub), sondern ich muss doch schreiben myfunc(PoweredUpHub& hub);
Oder?

… aber gab es bei C++ nicht genau für sowas diese Templates?

Ad LEGO & Co.!
JuL


„Altgrau“ facere necesse est.
Wer Rechtschreibfehler findet, darf sie mir nennen. Ich lerne nämlich gerne dazu (ich bin allerdings „Altschreiber“).


Lok24
02.03.2021, 11:14

Als Antwort auf den Beitrag von JuL

Re: Kurze Frage an die c++-Spezialisten

Hi,

JuL hat geschrieben:

… aber gab es bei C++ nicht genau für sowas diese Templates?

ungefähr das war die Frage

Aber das "Problem" besteht nicht mehr, da
- es jetzt nur noch eine Klasse gibt
- ich das ganze mangels Interesse hier und anderswo lange eingestellt habe

Trotzdem danke.



Gesamter Thread: