#include"stdio.h"
typedef struct day_t Pday_t ;
typedef void (*TInitDay)(Pday_t* day);
typedef void (*TSetDay)(Pday_t* day, int y, int m, int d);
typedef void (*TShowDay)(Pday_t* day);
struct day_t {
int Day;
int Month;
int Year;
TInitDay init;
TSetDay set;
TShowDay show;
};
void day_init(Pday_t* day) {
day->Year = 0;
day->Day = 0;
day->Month = 0;
}
void day_set(Pday_t* day, int y, int m, int d) {
day->Year = y;
day->Month = m;
day->Day = d;
}
void day_show(Pday_t* day) {
printf("%d/%d/%d", day->Day, day->Month, day->Year);
}
Pday_t M_day = {
.init = day_init,
.set = day_set,
.show = day_show,
};
int main() {
int y, m, d;
scanf("%d", &y);
scanf("%d", &m);
scanf("%d", &d);
M_day.init(&M_day);
M_day.set(&M_day, y, m, d);
M_day.show(&M_day);
return 0;
}
纯纯的C语言 面向对象写法