On Feb 23, 2011, at 5:34 PM, Charles Srstka wrote: > On Feb 23, 2011, at 2:35 PM, James Bucanek wrote: > >> It also occurred to me that if I'm careful, the Objective-C code doesn't >> really need any of the details of the instance variables in the >> Objective-C++ class: >> >> @interface MyCPPClass : NSObject >> { >> #ifdef __cplusplus >> @private >> SomeCPPClass *someCppObject; >> #endif >> } >> - (void)doSomething; >> @end > > Not a good idea. In the 32-bit runtime, this might cause problems with > subclassing due to the fragile base class problem.
Absolutely. That's why the next line in James' post was: >> So if the C code never accesses any instance variables directly, or >> **defines a subclass of this class**, or calculate the size of the object, >> etc., then it should function just fine in complete ignorance of its >> internal structure. Unfortunately, I can't think of a clever way to explicitly enforce "no non-C++ subclasses" by causing a compiler error or something. -- Greg Parker gpar...@apple.com Runtime Wrangler _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com