Guest User

Untitled

a guest
Feb 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #import <stdio.h>
  2. #import <objc/Object.h>
  3.  
  4. @protocol ClassNameToString
  5. - (id) ToString;
  6. @end
  7.  
  8. @interface A : Object
  9. {
  10. char *name;
  11. }
  12. - (id) init;
  13. - (id) free;
  14. @end
  15.  
  16. @interface B : Object
  17. @end
  18.  
  19. @implementation A
  20. - (id) init {
  21. [super init];
  22. name = (char *)malloc(255);
  23. sprintf(name , "%s . A@%d" , __FILE__ , self);
  24. return self;
  25. }
  26. - (id) free {
  27. free(name);
  28. return [super free];
  29. }
  30. - (id) ToString { return (id) name; }
  31. @end
  32. @implementation B
  33. - (id) ToString { return (id)"This is Object of B Class"; }
  34. @end
  35.  
  36. int main() {
  37. id objA = [A new];
  38. id objB = [B new];
  39. printf("objA = %s\n" , [objA ToString]);
  40. printf("objB = %s\n" , [objB ToString]);
  41. [objA free];
  42. [objB free];
  43.  
  44. return 0;
  45. }
Add Comment
Please, Sign In to add comment