12_2_2.c
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
源码类别:

数据结构

开发平台:

C/C++

  1. /* ======================================== */
  2. /*    程序实例: 12_2_2.cpp                  */
  3. /*    创建date类的对象                    */
  4. /* ======================================== */
  5. #include <iostream.h>
  6. class date                         /* date类声明       */
  7. {
  8. private:
  9.     int day;                       /* 成员数据声明       */
  10.     int month;
  11.     int year;
  12.     int validDate(int d, int m, int y);  /* 成员函数声明 */
  13. public:
  14.     int setDate(int d, int m, int y);    /* 成员函数声明 */
  15.     void printDate();
  16. };
  17. /* ---------------------------------------- */
  18. /*  成员函数: 检查时间参数是否合法          */
  19. /* ---------------------------------------- */
  20. int date::validDate(int d, int m, int y)
  21. {
  22.     /* 检查日期数据是否在范围内 */
  23.     if (d < 1 || d > 31) return 0;
  24.     if (m < 1 || m > 12) return 0;
  25.     if (y < 1900) return 0;  /* 不在范围内           */
  26.     return 1;                /* 合法日期数据         */
  27. }
  28. /* ---------------------------------------- */
  29. /*  成员函数: 设置时间的成员数据            */
  30. /* ---------------------------------------- */
  31. int date::setDate(int d, int m, int y)
  32. {
  33.     if (validDate(d, m, y))   /* 检查时间参数是否合法  */
  34.     {
  35.        day = d;               /* 设置日期              */
  36.        month = m;             /* 设置月份              */
  37.        year = y;              /* 设置年份              */
  38.        return 1;              /* 设置成功              */
  39.     }
  40.     else
  41.     {
  42.        return 0;              /* 设置失败              */
  43.     }
  44. }
  45. /* ---------------------------------------- */
  46. /*  成员函数: 输出成员数据                  */
  47. /* ---------------------------------------- */
  48. void date::printDate()
  49. {
  50.     /* 输出成员数据的月, 日和年 */
  51.     cout << month << '-' << day << '-' << year << 'n';
  52. }
  53. /* ---------------------------------------- */
  54. /*  主程式: 设置和输出date对象              */
  55. /* ---------------------------------------- */
  56. void main()
  57. {
  58.     date birthday;              /* 声明对象               */
  59.     birthday.setDate(3,9,1976); /* 使用成员函数设置初始值 */
  60.     cout << "生日日期 : ";
  61.     birthday.printDate();       /* 使用成员函数输出日期   */
  62. }