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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


十年前我们可以对青春说不后悔,十年后我们的青春已不在回来。

回复 使用道具 举报
学习学习!
回复 使用道具 举报
首先,你的%@占位符输出的什么没写出来,第二,你的student类应该继承Person类
回复 使用道具 举报
学习学习!
回复 使用道具 举报
学习学习!
回复 使用道具 举报
再看一下视频试试
回复 使用道具 举报
NSLog函数中的格式符和后面的参数的个数不匹配,并且输出字符串数据不能用%d,使用%@或%s
回复 使用道具 举报
学习学习!
回复 使用道具 举报
学习学习!
回复 使用道具 举报
如果楼主要采用结构题,建议采用这种形式。将Person的属性全部放到.m中,采用方法的形式给属性赋值,如果将属性放到.h中暴露出去,不安全!

#import <Foundation/Foundation.h>

typedef struct {
    int year;
    int mouth;
    int day;
}Birthday;

typedef enum {
    MAN,
    WOMAN,
}SEX;

@interface CDPersons : NSObject

- (void)talk:(NSString*)words;
- (void)smile;
- (void)printMe;
- (void)initName:(NSString*)name;
- (void)initBirWithYear:(int)year Mouth:(int)mouth Day:(int)day;
- (void)initSex:(SEX)sex;

@end

#import "CDPersons.h"
@interface CDPersons()
@property(nonatomic,copy)NSString* name;
@property(nonatomic,assign)Birthday birthday;
@property(nonatomic,assign)SEX sex;
@end

@implementation CDPersons
- (void)talk:(NSString*)words{
    NSLog(@"%@说%@",self.name,words);
}
- (void)smile{
    NSLog(@"%@笑了",self.name);
}
- (void)printMe{
    NSLog(@"我的名字%@--性别%u---生日%d%d%d",self.name,self.sex,self.birthday.year,self.birthday.mouth,self.birthday.day);
}
- (void)initName:(NSString*)name{
    _name = name;
}
- (void)initBirWithYear:(int)year Mouth:(int)mouth Day:(int)day{
    _birthday.year = year;
    _birthday.mouth = mouth;
    _birthday.day = day;

}
- (void)initSex:(SEX)sex{
    _sex = sex;
}
@end



主函数
   CDPersons* person0 = [[CDPersons alloc]init];
   [person0 initName:@"chendong"];
   [person0 initSex:MAN];
   [person0 initBirWithYear:1993 Mouth:1 Day:10];

   [person0 smile];
   [person0 talk:@"中国人"];
   [person0 printMe];
回复 使用道具 举报
顶一下,互相帮助,共同提高
回复 使用道具 举报
设计一个”学生“类
1> 属性
* 姓名
* 生日
这个题 我想用对象作为方法的参数。
//先声明一个学生类
@intface  Student : NSObject
{
NSString *_name;
int _year;
int _mouth;
int _day;
}
//方法的声明
-(void)massage:(NSString *)name  and:(int)year  and:(int)mouth and:(int)day;
@end

@implementation  Student
-(void)ximxi:(NSString *)name  and:(int)year  and:(int)mouth and:(int)day{
NSLog(@"name=%@,生日:%d年%d月%d日",_name,_year,_mouth,_day);
}
@end

//主函数部分
autoreleasepool{
//实例化一个对象
Student *stu=[Student new];
stu->_name=@"胡汉三";
stu->_year=1221;
stu->_mouth=1;
stu->_day=1;
[stu xinxi];
}
不知是否可行
回复 使用道具 举报
学习学习,学到哪里了  ?
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马