您的位置:首页 > 其它

oc-10-对象做参数

2016-03-22 15:45 429 查看
//
//  main.m
//  6-【掌握】对象和方法之间的关系

#import <Foundation/Foundation.h>

//声明人类
@interface Person : NSObject
{
@public
NSString *_name;//名字
int _age ; //年龄
int _sex; //性别 1表示男 2表示女  3表示未知
}

//方法
-(void)eat;
//声明了一个看孩子的方法  方法的参数 kid 类型是人类 Person *
-(void)takeCareOfKid:(Person *)kid;
//声明了一个 生孩的方法 方法的返回值类型  Person *
-(Person *)giveBirthTokid;
@end

//人类实现
@implementation Person
//方法
-(void)eat{
NSString * str = @"sadasd";
NSLog(@"吃吃吃");
}
//实现了一个看孩子的方法  方法的参数 kid 类型是人类 Person *
-(void)takeCareOfKid:(Person *)kid{
NSLog(@" %@ 在看 名字为 %@的 %d岁的小孩时  打....",_name,kid->_name,kid->_age);
}

//实现了一个 生孩的方法 方法的返回值类型  Person *
-(Person *)giveBirthTokid{
Person *p = [Person new];
p->_name =@"凤姐的孩子 不是猴子 ";
p->_age = 18;
NSLog(@"凤姐 p = %p",p);
return p;
}
@end

int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//NSLog(@"Hello, World!");

Person *zhangsan = [Person new];
zhangsan->_name = @"班长";
zhangsan->_age = 20;

Person *kidddddd = [Person new];
kidddddd->_name = @"猴子 我是猴子 我不是凤姐的孩子 ";
kidddddd->_age = 3;

[zhangsan takeCareOfKid:kidddddd];
NSLog(@"猴子地址  %p",kidddddd);

Person *ssss = [zhangsan giveBirthTokid];

NSLog(@"name = %@,生的孩子地址 sssss = %p ",ssss->_name,ssss);

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: