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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. /*
  2. 定义一个学生,学生有学号 姓名  还有 C语言分数 和JAVA语言分数  总分 平均分
  3. */
  4. #import <Foundation/Foundation.h>
  5. @interface Student : NSObject
  6. {
  7.    
  8.     char *_name;
  9.     int  _cScort;
  10.     int  _javaScort;
  11.     int  _conuntScort;
  12.     int  _avgScort;
  13. }

  14. - (void)setName:(char *)name;
  15. - (void)setCScort:(int)cScort;
  16. - (void)setJavaScort:(int)javaScort;

  17. - (char *)name;
  18. - (int)cScort;
  19. - (int)javaScort;

  20. - (int)conuntScort;
  21. - (int)avgScort;

  22. - (void)printInfo;
  23. @end

  24. @implementation Student

  25. - (void)setName:(char *)name
  26. {
  27.     _name = name;
  28. }
  29. - (void)setCScort:(int)cScort
  30. {
  31.     _cScort = cScort;
  32.     _conuntScort = _cScort + _javaScort;
  33.     _avgScort = _conuntScort / 2;
  34. }
  35. - (void)setJavaScort:(int)javaScort
  36. {
  37.     _javaScort = javaScort;
  38.     _conuntScort = _cScort + _javaScort;
  39.     _avgScort = _conuntScort / 2;

  40. }

  41. - (char *)name
  42. {
  43.     return _name;
  44. }
  45. - (int)cScort
  46. {
  47.     return _cScort;
  48. }
  49. - (int)javaScort
  50. {
  51.     return _javaScort;
  52. }

  53. - (int)conuntScort
  54. {
  55.     return _conuntScort;
  56. }
  57. - (int)avgScort
  58. {
  59.     return _avgScort;
  60. }

  61. - (void)printInfo
  62. {
  63.     NSLog(@"学生是%s",_name);
  64. }
  65. @end


  66. int main()
  67. {
  68.     Student *s = [Student new];
  69.     [s setCScort:90];
  70.     [s setJavaScort:90];
  71.     [s setName:"dd"];//这边使用中文为什么不行?????
  72.     NSLog(@"%s的总分是=%d,平均=%d",[s name],[s conuntScort],[s avgScort]);
  73.     return 0;
  74. }












复制代码

为啥 [s setName:"dd"];//这边使用中文为什么不行?????   使用英文就可以!!!?@!?@!@!

8 个回复

倒序浏览
NSObject  这个市做啥子用的>??
回复 使用道具 举报
本帖最后由 bieny 于 2015-5-15 19:49 编辑

虽然汉子只占一个字节,但汉字不是char类型的哦
回复 使用道具 举报
  1. /*
  2. 定义一个学生,学生有学号 姓名  还有 C语言分数 和JAVA语言分数  总分 平均分
  3. */
  4. #import <Foundation/Foundation.h>
  5. @interface Student : NSObject
  6. {
  7.    
  8.     NSString *_name;
  9.     int  _cScort;
  10.     int  _javaScort;
  11.     int  _conuntScort;
  12.     int  _avgScort;
  13. }

  14. - (void)setName:(NSString *)name;
  15. - (void)setCScort:(int)cScort;
  16. - (void)setJavaScort:(int)javaScort;

  17. - (NSString *)name;
  18. - (int)cScort;
  19. - (int)javaScort;

  20. - (int)conuntScort;
  21. - (int)avgScort;

  22. - (void)printInfo;
  23. @end

  24. @implementation Student

  25. - (void)setName:(NSString *)name
  26. {
  27.     _name = name;
  28. }
  29. - (void)setCScort:(int)cScort
  30. {
  31.     _cScort = cScort;
  32.     _conuntScort = _cScort + _javaScort;
  33.     _avgScort = _conuntScort / 2;
  34. }
  35. - (void)setJavaScort:(int)javaScort
  36. {
  37.     _javaScort = javaScort;
  38.     _conuntScort = _cScort + _javaScort;
  39.     _avgScort = _conuntScort / 2;
  40.    
  41. }

  42. - (NSString *)name
  43. {
  44.     return _name;
  45. }
  46. - (int)cScort
  47. {
  48.     return _cScort;
  49. }
  50. - (int)javaScort
  51. {
  52.     return _javaScort;
  53. }

  54. - (int)conuntScort
  55. {
  56.     return _conuntScort;
  57. }
  58. - (int)avgScort
  59. {
  60.     return _avgScort;
  61. }

  62. - (void)printInfo
  63. {
  64.     NSLog(@"学生是%@",_name);
  65. }
  66. @end


  67. int main()
  68. {
  69.     Student *s = [Student new];
  70.     [s setCScort:90];
  71.     [s setJavaScort:90];
  72.     [s setName:@"阿斯蒂芬"];//这边使用中文为什么不行?????
  73.     NSLog(@"%@的总分是=%d,平均=%d",[s name],[s conuntScort],[s avgScort]);
  74.     return 0;
  75. }
复制代码


回复 使用道具 举报 1 0
把char  换成NSString 就ok了
回复 使用道具 举报
bieny 发表于 2015-5-15 19:48
把char  换成NSString 就ok了

那个NSObject是啥意思?可以换成别的?
回复 使用道具 举报
bieny 中级黑马 2015-5-15 19:56:55
7#
本帖最后由 bieny 于 2015-5-15 20:03 编辑

NSObject是foundation框架里的基类,你的所有类都直接或间接继承自他,直接继承自他的不可以换,间接的可以  比如你一个dog继承自animal,dog里的:后面就放animal, animal里还是NSObject,这时animal是NSObject的子类,dog是NSObject得间接子类
回复 使用道具 举报
bieny 发表于 2015-5-15 19:56
NSObject是foundation框架里的基类,你的所有类都直接或间接继承自他

了解!感谢!
回复 使用道具 举报
char * 只能装ASCII码符号
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马