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 [email protected] Runtime Wrangler
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]