KiKi学习了面向对象技术,学会了通过封装属性(变量)和行为(函数)定义类,现在他要设计一个电子日历类TDate。
它有3个私有数据成员:Month,Day,Year和若干个公有成员函数,要求:
(1)带有默认形参值的构造函数,默认值为0, 0, 0;(2)输出日期函数,用“日/月/年”格式输出日期;
(3)设置日期函数,从键盘输入年、月、日。
一行,三个整数,用空格分隔,分别表示年、月、日。
一行,用“日/月/年”格式输出日期。
2019 12 30
30/12/2019
#include <stdio.h> #include <stdlib.h> typedef struct TData { int Year; int Day; int Month; void (*show)(struct TData*); void (*set)(struct TData*); }TData; void showData(TData* data) { printf("%d/%d/%d", data->Day, data->Month, data->Year); } void setData(TData* data) { scanf("%d %d %d", &(data->Year), &(data->Month), &(data->Day)); } TData* creatTData() { TData* data = (TData*)malloc(sizeof(TData)); data->Year = 0; data->Month = 0; data->Day = 0; data->set = setData; data->show = showData; return data; } int main() { TData* data = creatTData(); data->set(data); data->show(data); free(data); return 0; }