A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 菜鸟_琦 中级黑马   /  2014-10-28 21:27  /  712 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一段代码


  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中存储的是对象的地址啊,

1 个回复

倒序浏览
p2 = p是把p中的值赋给p2,p中存储的是对象的地址,所以p2中存储的也是同一个对象的值。
如果要把p的地址给p2,要用&
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马