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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© holfioo 中级黑马   /  2015-5-18 11:16  /  1208 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 holfioo 于 2015-5-18 12:32 编辑

视频练习中这个题目。
#import <Foundation/Foundation.h>
@interface Car : NSObject
{
    @public
    int speed;
}
- (void) compareSpeedWithOther: (Car *)other ;
@end

@implementation Car
- (void) compareSpeedWithOther: (Car *)other
{
//    speed;
//    other->speed;
    //返回当前这辆车和other这辆车的速度差距
    int com = speed - other ->speed;
    NSLog(@"第一辆车与第二辆车速度差是%i",com);
}
@end
int main()
{
    Car *c1 = [Car new];
    c1->speed = 200;

    Car *c2 = [Car new];
    c2->speed = 280;

    [c1 compareSpeedWithOther:c2];

    //NSLog(@"这两辆车的速度差是%i",com);
    return 0;
}

我改写了一下。。无返回值的声明方法声明。
现在不明白这个声明。
- (void) compareSpeedWithOther: (Car *)other  
括号()中不是只能参数类型吗?
Car * 作为参数是什么意思?
表达式: speed - other -> speed; 也没听懂。。
求解答- - 迷糊状态中。

2 个回复

倒序浏览
- (void) compareSpeedWithOther: (Car *)other 是compareSpeedWithOther方法的声明,冒号后边是传入的参数,括号是要传入的参数类型(Car *),要传入Car的指针类型,other -> speed 中的“->”是指向other的成员变量的意思.
回复 使用道具 举报 1 0
mingjixiaohui 发表于 2015-5-18 16:25
- (void) compareSpeedWithOther: (Car *)other 是compareSpeedWithOther方法的声明,冒号后边是传入的参数 ...

嗯。刚研究了一下。。现在明白了。。(指针) 。。就是传了个指针类型。。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马