黑马程序员技术交流社区

标题: OC对象调用方法疑问 [打印本页]

作者: 菜鸟_琦    时间: 2014-10-28 21:27
标题: OC对象调用方法疑问
一段代码


  1. #import <Foundation/Foundation.h>
  2. @interface Person : NSObject
  3. {
  4.     @public
  5.     int age;
  6.     double weight;
  7. }

  8. - (void)walk;
  9. - (void)eat;

  10. @end

  11. @implementation Person
  12. - (void)walk
  13. {
  14.     NSLog(@"%d %d", age, weight);
  15. }

  16. - (void)eat
  17. {
  18.     NSLog(@"%d %d", age, weight);
  19. }

  20. @end

  21. int main()
  22. {
  23.     Person *p = [Person new];
  24.     p->age = 20;
  25.     p->weight = 40;
  26.    
  27.     Person *p2 = p; // 关注这一段
  28.     p2->age = 30;
  29.     [p walk];

  30.     return 0 ;
  31. }
复制代码


老师的视频讲解中说p2的值跟p的值相等,个人觉得不是相等啊,p2中存储的应该是p的地址啊,而p中存储的是对象的地址啊,

作者: chenhuan_ccit    时间: 2014-11-1 21:37
p2 = p是把p中的值赋给p2,p中存储的是对象的地址,所以p2中存储的也是同一个对象的值。
如果要把p的地址给p2,要用&




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2