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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 77媛儿 中级黑马   /  2014-3-21 21:03  /  1418 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 77媛儿 于 2014-3-24 13:52 编辑
  1. //分数类
  2. #import <Foundation/Foundation.h>
  3. @interface Scord:NSObject
  4. {
  5.     @public
  6.     int cScord;
  7.     int ocScord;
  8.     int iosScord;
  9. }
  10. - (int)compare_cScordWithother:(Scord *)other;
  11. - (int)compare_ocScordWithother:(Scord *)other;
  12. - (int)compare_iosScordWithother:(Scord *)other;
  13. - (int)sumAll;
  14. - (int)average;
  15. @end
  16. @implementation Scord
  17. - (int)compare_cScordWithother:(Scord *)other
  18. {
  19.     return cScord-other->cScord;
  20. }
  21. - (int)compare_ocScordWithother:(Scord *)other
  22. {
  23.     return ocScord-other->ocScord;
  24. }
  25. - (int)compare_iosScordWithother:(Scord *)other
  26. {
  27.     return iosScord-other->iosScord;
  28. }
  29. - (int)sumAll
  30. {
  31.     return cScord+ocScord+iosScord;
  32. }
  33. - (int)average
  34. {
  35.     return (cScord+ocScord+iosScord)/3;
  36. }
  37. @end
  38. //学生类
  39. @interface Student:NSObject
  40. {
  41.     @public
  42.     char *name;
  43.     int number;
  44.     Scord *s;
  45. }
  46. - (int)compare_cScordWithother:(Student *)other;
  47. @end
  48. @implementation Student
  49. - (int)compare_cScordWithother:(Student *)other
  50. {
  51.     return [s compare_iosScordWithother:other->s];
  52. }
  53. @end
  54. int main()
  55. {
  56.   
  57.     Student *a=[Student new];
  58.     Scord *s1=[Scord new];
  59.     a->name="jack";
  60.     a->number=22;
  61.     a->s=s1;
  62.     s1->cScord=90;
  63.     Student *a1=[Student new];
  64.     Scord *s2=[Scord new];
  65.     a1->name="rose";
  66.     a1->number=23;
  67.     a1->s=s2;
  68.     s2->cScord=92;
  69.     int b=[a compare_cScordWithother:a1];
  70.     NSLog(@"%d",b);
  71. }
  72. 输出结果不正确,求帮助
复制代码


评分

参与人数 1技术分 +1 收起 理由
黑妞~ + 1

查看全部评分

2 个回复

正序浏览
楼上正解,我试了一下,也是51行出错,学生类调用的是 C ,而内部实现却是 IOS,
把 compare_iosScordWithother  改为 compare_cScordWithother 即可
回复 使用道具 举报
代码51行错了,改为:
  1. return [s compare_cScordWithother:other->s];
复制代码


这个函数是计算C语言的分数,你调到ios分数了,结果自然就不正确了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马