黑马程序员技术交流社区
标题:
oc中函数和类的使用
[打印本页]
作者:
杨勇
时间:
2014-5-1 01:49
标题:
oc中函数和类的使用
本帖最后由 杨勇 于 2014-5-7 10:09 编辑
//声明一个car类
@interface Car :NSObject
{@public
int wheels;// 轮子个数
int speed;// 速度
}
- (void)print;
@end
//实现
@implementation Car
- (void) print
{
NSLog(@"速度为%d,轮子个数为%d",speed,wheels);
}
@end
//函数test
void test(Car *car)
{
Car *c2=[Car new];
c2->wheels=4;
c2->speed=200;
car=c2;
car->speed=300;
}
//主函数
int main()
{
Car *c=[Car new];
c->wheels=2;
c->speed=100;
// 调用test
test(c);
[c print];//打印什么值,我希望的是能够分析一下为什么的,而不是结果。
[c2 print];//可以调用成功么?为什么?打印结果为多少?
[car print];//这句呢?
}
谢谢!
作者:
m573555543
时间:
2014-5-1 06:14
[c print];
//打印什么值,我希望的是能够分析一下为什么的,而不是结果。
/*
速度为100,轮子个数为2
这句的意思是给指针c才所指向对象发送一条print消息 。
会找到Car.m 中,去执行。
car.m中的 NSLog(@"速度为%d,轮子个数为%d",speed,wheels);
这句话是谁在调用speed, wheels 就输出谁的值。
所以结果是:速度为100,轮子个数为2
*/
Car *c2=[Car new];
c2->wheels=2;
c2->speed=100;
[c2 print]
;//可以调用成功么?为什么?打印结果为多少?
/*不成功,你的在心建立一个
Car *c2=[Car new];
c2->wheels=2;
c2->speed=100;
*/
[car print];
/*
这句话的意思是:给指针car所指向的对象发送一条print消息
你没有car这个指针。
*/
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2