c++复制构造函数

来源:互联网 发布:软件系统可靠性描述 编辑:程序博客网 时间:2024/05/16 13:49

调用复制构造函数的情形有如下3种:

1.用类的对象初始化该类的另一个对象

2.函数的形参类的对象,调用函数进行形参和实参的结合时

3.函数的返回值是累的对象,函数执行完返回调用者时

#include<iostream>using namespace std;class Date{public:Date(int y=2012,int m=1,int d =1);Date(const Date &d);void Set(int y,int m,int d);void Print();private:int year,month,day;};Date::Date(int y,int m,int d):year(y),month(m),day(d){cout<<"object Constructor"<<endl;}Date::Date(const Date &d){year=d.year;month=d.month;day=d.day+1;cout<<"Copy_Constructor"<<endl;}void Date::Set(int y,int m,int d){year=y;month=m;day=d;}void Date::Print(){cout<<year<<"."<<month<<"."<<day<<endl;}Date Func(Date day){cout<<"day的日期为:";day.Print();day.Set(2012,1,1);return  day;}int main(){Date d1(2012,7,6);cout<<"d1的日期为:";d1.Print();Date d2(d1);cout<<"d2的日期为:";d2.Print();Date d3(2012,7,12);cout<<"d3的初始日期为:";d3.Print();d3=Func(d2);cout<<"d3的更新日期为:";d3.Print();return 0;}
结果如下:得证开题所述!




0 0
原创粉丝点击