有趣的循环?基类如何将子类包含为成员?

时间:2011-04-05 18:47:55

标签: objective-c logic member superclass

基类如何将子类包含为成员?例如:

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

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

1 个答案:

答案 0 :(得分:1)

在宣布Magic类之前使用前向声明:

@class SpecialKindOfMagic;

@interface Magic ...

另外,声明一个不从NSObject下降的类是非常不寻常的,所以你可能想写:

@interface Magic : NSObject {