1*75fdf7fdSDave Lee#import <objc/NSObject.h> 2*75fdf7fdSDave Lee#include <stdio.h> 3*75fdf7fdSDave Lee 4*75fdf7fdSDave Leestruct Structure { 5*75fdf7fdSDave Lee int m_field; 6*75fdf7fdSDave Lee void fun() { 7*75fdf7fdSDave Lee puts("check this\n"); 8*75fdf7fdSDave Lee } 9*75fdf7fdSDave Lee}; 10*75fdf7fdSDave Lee 11*75fdf7fdSDave Lee@interface Classic : NSObject { 12*75fdf7fdSDave Lee@public 13*75fdf7fdSDave Lee int _ivar; 14*75fdf7fdSDave Lee} 15*75fdf7fdSDave Lee@end 16*75fdf7fdSDave Lee 17*75fdf7fdSDave Lee@implementation Classic 18*75fdf7fdSDave Lee- (void)fun { 19*75fdf7fdSDave Lee puts("check self\n"); 20*75fdf7fdSDave Lee} 21*75fdf7fdSDave Lee@end 22*75fdf7fdSDave Lee 23*75fdf7fdSDave Leeint main() { 24*75fdf7fdSDave Lee Structure s; 25*75fdf7fdSDave Lee s.m_field = 41; 26*75fdf7fdSDave Lee s.fun(); 27*75fdf7fdSDave Lee 28*75fdf7fdSDave Lee Classic *c = [Classic new]; 29*75fdf7fdSDave Lee c->_ivar = 30; 30*75fdf7fdSDave Lee [c fun]; 31*75fdf7fdSDave Lee 32*75fdf7fdSDave Lee Classic *self = c; 33*75fdf7fdSDave Lee puts("check explicit self\n"); 34*75fdf7fdSDave Lee (void)self; 35*75fdf7fdSDave Lee} 36