OC 학습 노트(4) - 대상 지침

1160 단어 oc객체 포인터
#import <Foundation/Foundation.h>

@interface Person : NSObject
{
      float weight;
      int age;
}

- (void) talk;
     
@end

@implementation Person
- (void) talk
{
      NSLog(@" ( %d %f) , 。。",age,weight);
}
@end

첫 번째 시나리오:
int main()
{
     Person *p1 = [Person new];
     p1->age = 10;
     [p1 talk];
     return 0;
}

운행 결과: 상대방(나이 10, 체중 0.0)이 당신과 이야기하고 싶지 않아 눈을 흘겼다.
두 번째 시나리오:
int main()
{
     Person *p1 = [Person new];
     p1->age = 10;
     p1->weight = 20.0;
     Person *p2 = p1;
     p2->weight = 40.0;
     [p1 talk];
     return 0;
}

운행 결과: 상대방(나이 10, 몸무게 40.0)이 당신과 이야기하고 싶지 않아 눈을 흘겼다.
세 번째 시나리오:
int main()
{
     Person *p1 = [Person new];
     p1->age = 10;
     p1->weight = 20.0;
     Person *p2 = [Person new];
     p2->age = 20;
     p2->weight = 40.0;
     
     p1 = p2;
     p1->age = 15;
     [p2 talk];
     return 0;
}

운행 결과: 상대방(나이 15, 몸무게 40.0)이 당신과 이야기하고 싶지 않아 눈을 흘겼다.

좋은 웹페이지 즐겨찾기