黑马程序员技术交流社区

标题: 大家看看 [打印本页]

作者: ch8898163    时间: 2014-10-19 17:29
标题: 大家看看
  1. #import <Foundation/Foundation.h>

  2. typedef enum{
  3.     SexMan,
  4.     SexWoman,
  5.     SexUnkown

  6. } Sex;

  7. typedef struct{
  8.     int year;
  9.     int month;
  10.     int day;
  11. } Date;

  12. @interface Dog : NSObject
  13. {
  14.     @public
  15.     Sex SexMan;
  16.     Date _birthday;
  17.     int _weight;
  18.    
  19. }

  20. - (void)run;
  21. - (void)eat;
  22. @end

  23. @implementation Dog
  24. - (void)run
  25. {
  26.     _weight = _weight + 1;
  27.     NSLog(@"狗跑完这次后的体重是%d",_weight);
  28. }
  29. - (void)eat
  30. {
  31.     _weight = _weight - 1;
  32.     NSLog(@"狗跑完这次后的体重是%d",_weight);

  33. }
  34. @end

  35. int main ()
  36. {
  37.     Dog *d = [Dog new];
  38.    
  39.     d -> _weight = 19;
  40.     d -> _birthday.year = 2010;
  41.     d -> _birthday.month = 11;
  42.    
  43.     [d run];
  44.     [d eat];
  45.     NSLog(@"体重是%d,出生是%d-%d-%d的狗狗",_weight,_birthday.year,_birthday.month);
  46.    
  47.     return 0;
  48. }
复制代码


我没有截图软件,就给大家说一下,在最后输出的时候_weight使用了定义不明确的变量,报错,什么原因?
作者: ch8898163    时间: 2014-10-19 17:43
呃,这个我自己想出来了,是因为函数里不能直接调用对象方法的变量~
作者: 崔石炫    时间: 2014-10-20 00:52
nice……洗洗睡了





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