zoukankan      html  css  js  c++  java
  • C++面向对象作业1

     1 #include <iostream>
     2 #include <stdlib.h>
     3 using namespace std;
     4 class Tdate
     5 {
     6 public:
     7     Tdate(int mm=0,int dd=0,int yy=0);
     8     ~Tdate()
     9     {
    10         cout<<"Call Destructor.
    ";
    11     }
    12     void Tdate::SetDate(int m,int d,int y);//构造函数参数设置了缺省值
    13     void print()
    14     {
    15         cout<<"month="<<month<<",day="<<day<<",year="<<year<<"
    ";
    16     }
    17 protected:
    18     int month,day,year;
    19 };
    20 Tdate::Tdate(int mm,int dd,int yy)
    21 {
    22     month=mm;
    23     day=dd;
    24     year=yy;
    25     cout<<"Call Constructor.
    ";
    26 }
    27 void Tdate::SetDate(int m,int d,int y)
    28 {
    29     if(m>0&&m<13)
    30         month=m;
    31     if(d>0&&d<32)
    32         day=d;
    33     if(y>0&&y<3000)
    34         year=y;
    35 }
    36 int main()
    37 {
    38     Tdate *pd1,*pd2;
    39     pd1=new Tdate(1,1,2000);//创建动态对象,会调用构造函数
    40     pd1->print();//只能用指针去访问该对象的成员
    41     pd2=new Tdate(12,31,2007);//创建动态对象,会调用构造函数
    42     if(!pd2)//如果分配堆内存不成功
    43     {
    44         cout<<"Heap error!
    ";//输出错误信息
    45         exit(1);//终止程序运行
    46     }
    47     else//如果分配堆内存成功
    48         pd2->SetDate(8,8,2008);//调用函数重设日期
    49     pd2->print();
    50     delete pd1;//删除动态对象,会调用析构函数
    51     delete pd2;//删除动态对象,会调用析构函数
    52 }
  • 相关阅读:
    js小程序
    事务的概念
    为期一个月培训的总结
    软件测试培训总结篇2
    软件测试培训总结篇1
    软件测试培训第30天
    软件测试培训第29天
    软件测试培训第28天
    软件测试培训第26天
    软件测试培训第27天
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/6955904.html
Copyright © 2011-2022 走看看