typedef struct date{ int year; int month; int day; } Mydate; Mydate date1; date1 = {1988,12,12};
2)解决办法二:Mydate date2; date2 = (Mydate){1999,2,3};
3)解决办法三:逐个赋值Mydate date3; Mydate date4 = {1987,2,15}; date3 = date4;
#import <Foundation/Foundation.h> #pragma mark Bullet子弹类的声明 @interface Bullet:NSObject { @public int _bulletNum; NSString *_size; } //行为声明 -(void) addBullet:(int)num; @end #pragma mark - #pragma mark Bullet类的实现 @implementation Bullet -(void) addBullet:(int)num{ _bulletNum += num; NSLog(@"目前有:%d个子弹",_bulletNum); } @end #pragma mark - #pragma mark Gun类的声明 @interface Gun:NSObject { @public NSString *_size; //抢的型号 } //行为声明 -(void)shoot:(Bullet *)bullet; @end #pragma mark - #pragma mark Gun类的实现 @implementation Gun //方法的实现 -(void) shoot:(Bullet *)bullet { if(bullet -> _bulletNum <= 0) NSLog(@"咔咔,%@没子弹了!",_size); else{ NSLog(@"啪啪啪啪"); bullet -> _bulletNum --; } } @end #pragma mark - #pragma mark Soldier类的声明 typedef enum {kLevelA,kLevelB,kLevelC}sLevel; @interface Soldier:NSObject //成员声明 { @public NSString *_name; int _life; sLevel _level; } //方法的声明 -(void) fireByGun:(Gun *)gun and:(Bullet *)bullte and:(int)count; //射击 -(void) addBullet:(Bullet *)bullet and:(int)num; //添加子弹 @end #pragma mark - #pragma mark Soldier类的实现 @implementation Soldier //方法的实现 -(void) fireByGun:(Gun *)gun and:(Bullet *)bullte and:(int)count { for(int i=0;i<count;i++) { [gun shoot:bullte]; } } -(void) addBullet:(Bullet *)bullet and:(int)num { [bullet addBullet:num]; NSLog(@"装弹完毕!"); } @end int main(int argc, const char * argv[]) { @autoreleasepool { Bullet *bullet = [Bullet new]; bullet -> _size =@"5MM"; bullet -> _bulletNum = 3; Gun *gun = [Gun new]; gun -> _size = @"连发步枪M16"; Soldier *s1 = [Soldier new]; s1 ->_name = @"Wang Baoqiang"; s1 -> _level = kLevelA; s1 -> _life = 100; [s1 fireByGun:gun and:bullet and:5]; [s1 addBullet:bullet and:6]; } return 0; }