2011-04-05 2 views
0

Comment une classe de base peut-elle inclure une classe enfant en tant que membre? Par exemple:Une boucle intéressante? Comment une classe de base peut-elle inclure une classe enfant en tant que membre?

@interface Magic : NSObject { 
@private 
     NSString* name; 
     int power; 
     int manaCost; 
     SpecialKindOfMagic* thisMuch; 
} 
@end 

@interface SpecialKindOfMagic : Magic { 
@private 
     int thisMuchSpecial; 
} 
@end 
+0

Pourquoi voudriez-vous faire cela? Une classe de base ne doit avoir aucune connaissance de tout ce qui le dérive. –

Répondre

1

Utilisez une déclaration avant avant la déclaration de la classe Magic:

@class SpecialKindOfMagic; 

@interface Magic ... 

En outre, il est très rare de déclarer une classe qui ne descend pas de NSObject, de sorte que vous vouliez probablement dire écrire:

@interface Magic : NSObject { 
Questions connexes