| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1238 人关注过本帖
标题: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
快速回复:c++析构函数和构造函数调用顺序的问题?
数据加载中...
 
   



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

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