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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 306228801 中级黑马   /  2015-10-18 17:44  /  516 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1> 指针必须指向的是实例
   例: 上述代码中
     Dog *d=[Dog new];
     //S->dog->DogCol=DogColorBlack;  错误,指针指向错误,指向的是类型,不是实例对象
     //S->dog->DogWeight=40;          错误,指针指向错误,指向的是类型,不是实例对象
      实例化了一个Dog,但是并没有通过指针修改这个实例化的Dog的参数,而是直接修改类的定义中定义的另一个类的行参
2> 无法直接跨对象调用类中对象的方法
   例: Student *S=[Student new];
         // [S DogEat];  这样写是错误的,学生类里面并没有DogEat的方法。
        Dog D=[Dog new];
         S->dog=D;
         [S->dog DogEat];  可以实例化一个Dog赋给S中的Dog对象,再这样执行这个方法。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马