PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Wie Default Argument für Objekt beim Methodenaufruf zuweisen?



chrisch
02-06-2005, 15:50
Hallo,

Meine Frage steht ja im Betreff. Wie mache ich das?


So etwas hier funktioniert ja wunderbar:

void Test(int var1, bool var2=false, bool var3=true);

Aber was schreibe ich denn hier für var3 als Default Argumet?

void Test(int var1, bool var2=false, ObjectA var3=???);


Falls mir jemand helfen kann, schonmal vielen Dank!

Schönen Gruß,
Christian

Boron
02-06-2005, 16:47
void Test(int var1, bool var2=false, ObjectA var3=new ObjectA());Du erstellst einfach ein neues ObjectA :).

Joghurt
02-06-2005, 16:48
Wie wäre es mit einer Instanz von ObjektA?

class Foo
{
};

Foo Blabla;

void Test(Foo a=Blabla);

Sym
02-06-2005, 20:01
Wie wäre es mit einer Instanz von ObjektA?

class Foo
{
};

Foo Blabla;

void Test(Foo a=Blabla);

Da sollte der Zuweisungsoperator aber auch vernünftig implementiert sein. ;)

michael.sprick
03-06-2005, 00:12
So müsste es auch ohne Copy Konstruktor und Pointer gehen:



//Prototyp:
void Test(int=3, double=4.3, Object=Object());

//Funktionsdefinition:
void Test(int a, double b, Object c)
{
}

chrisch
03-06-2005, 12:15
Jo super, es funktioniert! Vielen Dank! :)