Avatar billede krismort Nybegynder
07. juni 2006 - 14:35 Der er 6 kommentarer

forward declare af klasser i class namespace ?

Er det umuligt at lave forward declares på Component ?

// forward declare 1
class MyClass;
class MyClass::Component;

class MyClass {
public:
  class Component {
  };
};
Avatar billede bertelbrander Novice
07. juni 2006 - 19:44 #1
Interessant spørgsmål, men svaret er kedeligt; man kan ikke lave en forward på en class i en class uden for class'en selv.
Avatar billede lars314 Nybegynder
08. juni 2006 - 08:48 #2
Ligeså Interessant er det, hvorfor du vil det.
Måske kan du opnå det du vil på en anden måde, måske med namespace's
Avatar billede krismort Nybegynder
08. juni 2006 - 13:38 #3
Det er en måde at programmerer på det er istedet for at bruge template argumenter så implementerer du komponenter indenfor alle entiteter feks en replicator eller en serializer komponent som er er forskellige implementeringer men ser ens ud.
Det betyder at man slipper for  multipel arv og at man man plugge komponeter ind og udvide mere flere komponenter.
Ulempe er åbenbart at man åbenbart ikke kan lave forward på komponenterne.
Avatar billede lars314 Nybegynder
08. juni 2006 - 22:14 #4
Kan det ikke laves med almindelige virtual funtioner i en base-class?
Avatar billede bertelbrander Novice
08. juni 2006 - 22:17 #5
Jeg undrer mig over hvorfor man skulle ønske at undgå multipel arv?
Avatar billede krismort Nybegynder
09. juni 2006 - 16:07 #6
Sidder med et scenarie hvor multipel nedarv er bedst at undgå.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester