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

© 403295277 中级黑马   /  2015-8-27 21:26  /  685 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
    设计一个"学生"类
    1>属性
    *姓名
    *生日(用结构体作为类的实例变量---生日)

*/


#import <Foundation/Foundation.h>
typedef struct {
   
    int year;
    int month;
    int day;
}myDate;

@interface Student:NSObject
{
    @public
    NSString *_name;
    //只有属性,没有方法,最好选择---->结构体 (这样节约内存空间)
    //如果不仅有属性还有方法,只能选择定义成---->类
    myDate _birthday;
}

@end
@implementation Student
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student *studentOne = [Student new];
        studentOne->_name = @"张三丰";
        
        // 注意结构体的初始化方法
        studentOne->_birthday = (myDate){1989,9,9};
        /*
         结构体的初始化方法
         1、定义时直接初始化
                 typedef struct {
                 
                 int year;
                 int month;
                 int day;
                 }myDate = {1989,1,1};
         2、定义结构体变量的同时进行初始化
                myDate day1 = {1989,1,1};
         3、把已经初始化的结构体变量赋值没有初始化的结构体变量
                myDate day1 = {1989,1,1};
                myDate day2 = day1
         4、结构体变量一个一个的进行初始化
                 studentOne->_birthday.year = 1989;
                 studentOne->_birthday.month = 1;
                 studentOne->_birthday.day= 1;
         
         */
//        studentOne->_birthday.year = 1989;
//        studentOne->_birthday.month = 1;
//        studentOne->_birthday.day= 1;
        NSLog(@"姓:名%@,生日:%d,%d,%d",studentOne->_name,studentOne->_birthday.year,studentOne->_birthday.month,studentOne->_birthday.day);
        
    }
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马