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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流风124 中级黑马   /  2015-4-4 22:39  /  1638 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面有一段代码,是我在看视频的时候,自己练习的一段代码,但是执行的结果不对,不知道为什么,请大家帮忙啦
#import <Foundation/Foundation.h>
@interface Score : NSObject
{
    int _cScore;
    int _ocScore;
}
- (void)setCScore:(int)cScore;
- (int)cScore;
@end

@implementation Score
- (void)setCScore:(int)cScore//感觉这里没有执行到
{
    _cScore = cScore;
    NSLog(@"设置C的成绩%d",_cScore);//这句话不打印
}
- (int)cScore//感觉这里没有执行到
{
    NSLog(@"取得C的成绩%d",_cScore);//这句话不打印
    return _cScore;
}

@end

@interface Student : NSObject
//组合
{
    Score *_score;
    int _age;
}
- (void)setScore:(int)cScore;
- (int)score;
@end

@implementation Student
- (void)setScore:(int)cScore
{
    [_score setCScore:cScore];
}
- (int)score
{
    int cs = [_score cScore];
    return cs;
}
@end


int main()
{
    Student *s = [Student new];
    [s setScore:78];
    NSLog(@"C语言成绩是:%d",[s score]);
    return 0;

}
结果:
C语言成绩是:0

2 个回复

倒序浏览
我已经找到原因了,另外一个类需要实例化
回复 使用道具 举报
对, 学生的Score类型的_score的setter和getter方法,应该分别传入和接收Score* 类型的变量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马