首页 > 代码库 > C++面向对象作业1
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.\n";11 }12 void Tdate::SetDate(int m,int d,int y);//构造函数参数设置了缺省值13 void print()14 {15 cout<<"month="<<month<<",day="<<day<<",year="<<year<<"\n";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.\n";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!\n";//输出错误信息45 exit(1);//终止程序运行46 }47 else//如果分配堆内存成功48 pd2->SetDate(8,8,2008);//调用函数重设日期49 pd2->print();50 delete pd1;//删除动态对象,会调用析构函数51 delete pd2;//删除动态对象,会调用析构函数52 }
C++面向对象作业1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。