标题:c++析构函数和构造函数调用顺序的问题?
取消只看楼主
slfzzhm
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-7-16
结帖率:66.67%
已结贴  问题点数:20 回复次数:1 
c++析构函数和构造函数调用顺序的问题?
#include<iostream>
using namespace std;

class TDate
{
 int year,month,day;
public:
 TDate(int y=2007,int m=1,int d=1);
 TDate(const TDate &date);
 ~TDate();
 void Print();
};

TDate::TDate(int y,int m,int d)
{
 year = y;
 month = m;
 day = d;
 cout<<"Constructor called.\n";
}

TDate::TDate(const TDate &date)
{
 year = date.year;
 month = date.month;
 day = date.day;
 cout<<"Copy Constructor called.\n";
}

void TDate::Print()
{
 cout<<year<<"_"<<month<<"_"<<day<<endl;
}

TDate::~TDate()
{
 cout<<"Destructor called.\n";
}


TDate f(TDate Q)
{
 TDate R(Q);
 return Q;
}

void main()
{
 TDate day1(1998,5,26);
 TDate day3;
 TDate day2(day1);
 TDate day4 = day2;
 day3 = day2;
 day3 = f(day2);
 day3.Print();
}
输出如下:
Constructor called.        // 1
Constructor called.        // 2
Copy Constructor called.   //3
Copy Constructor called.   //4
Copy Constructor called.   //5
Copy Constructor called.   //6
Copy Constructor called.   //7
Destructor called.       //8
Destructor called.        //9      
Destructor called.        //10
1998-5-26                //11
Destructor called.       //12
Destructor called.        //13
Destructor called.        //14
Destructor called.         //15
1-15都是由哪些函数调用的?能帮我都列出来吗?我初学者不太懂额
搜索更多相关主题的帖子: 函数 顺序 构造 
2010-10-16 17:19
slfzzhm
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-7-16
得分:0 
回复 4楼 yangang2
说的很详细啊,太谢谢你了啊
2010-10-17 14:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-323099-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.880432 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved