#import <Foundation/Foundation.h>
//定义人的性别的枚举
typedef enum{kSexMan,kSexWomen} Sex;
//定义一个Person类
@interface Person : NSObject
{
@public
NSString *_name;
Sex _sex;
}
//对象作为方法的参数
-(void)dispPerson:(Person *) person;
//对象作为方法的返回值
-(Person *)changeSex:(Person *) person;
@end
@implementation Person
-(void)dispPerson:(Person *) person{
NSLog(@"姓名:%@,性别:%d",person->_name,person->_sex);
}
//对象作为方法的返回值
-(Person *)changeSex:(Person *) person{
//修改性别
person->_sex = kSexWomen;
return person;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建对象p
Person *p = [Person new];
//创建对象p1
Person *p1 = [Person new];
p1->_name = @"柯南";
p1->_sex = kSexMan;
[p dispPerson:p1]; //此时对象p1作为方法的实参
//调用dispPerson 方法之后得出的结果是:姓名:柯南,性别:0
//修改性别
[p changeSex:p1];
NSLog(@"姓名: %@,性别:%d",p1->_name,p1->_sex);
//修改性别后的打印结果: 姓名:柯南,性别:1
}