#import <objc/objc.h>
#import <objc/Object.h>
@interface Access: Object {
@public
int publicVar;
@private
int privateVar;
int privateVar2;
@protected
int protectedVar;
}
@end
@implementation Access
int main( int argc, const char *argv[] ) {
Access *a = [[Access alloc] init];
// works
a->publicVar = 5;
printf( "public var: %i\n", a
->publicVar
);
// doesn't compile
//a->privateVar = 10;
//printf( "private var: %i\n", a->privateVar );
return 0;
}
@end
I2ltcG9ydCA8b2JqYy9vYmpjLmg+CiNpbXBvcnQgPG9iamMvT2JqZWN0Lmg+CgpAaW50ZXJmYWNlIEFjY2VzczogT2JqZWN0IHsKQHB1YmxpYwogICAgaW50IHB1YmxpY1ZhcjsKQHByaXZhdGUKICAgIGludCBwcml2YXRlVmFyOwogICAgaW50IHByaXZhdGVWYXIyOwpAcHJvdGVjdGVkCiAgICBpbnQgcHJvdGVjdGVkVmFyOwp9CkBlbmQKCgpAaW1wbGVtZW50YXRpb24gQWNjZXNzCgoKaW50IG1haW4oIGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10gKSB7CiAgICBBY2Nlc3MgKmEgPSBbW0FjY2VzcyBhbGxvY10gaW5pdF07CgogICAgLy8gd29ya3MKICAgIGEtPnB1YmxpY1ZhciA9IDU7CiAgICBwcmludGYoICJwdWJsaWMgdmFyOiAlaVxuIiwgYS0+cHVibGljVmFyICk7CgogICAgLy8gZG9lc24ndCBjb21waWxlCiAgICAvL2EtPnByaXZhdGVWYXIgPSAxMDsKICAgIC8vcHJpbnRmKCAicHJpdmF0ZSB2YXI6ICVpXG4iLCBhLT5wcml2YXRlVmFyICk7CgogICAgcmV0dXJuIDA7Cn0KCkBlbmQ=