| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 844 人关注过本帖
标题:c++ 构造函数与析构函数
只看楼主 加入收藏
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:1 
c++ 构造函数与析构函数
#include <iostream>
using namespace std;
class Clock {
   private:
     int H,M,S;
   public:
    Clock(int h=0,int m=0,int s=0)  {
        H=h,M=m,S=s;
        cout<<"constructor:"<<H<<":"<<M<<":"<<S<<endl;
   }
  ~Clock() {
        cout<<"destructor:"<<H<<":"<<M<<":"<<S<<endl;
   }
  Clock(Clock & p)  {
      H=p.H;        M=p.M;       S=p.S;
      cout<<"copy const:"<<H<<":"<<M<<":"<<S<<endl;
    }
};
Clock func(Clock C) {
 Clock tTime(C);     
 return Clock(9,0,0);         }
int main( ){
   Clock C1(8,0,0);
   func(C1);
   return 0;
}
为什么得到constructor:8:0:0
copy const:8:0:0
copy const:8:0:0
consturctor:9:0:0
destructor:8:0:0
destructor:8:0:0
destructor:9:0:0
destructor:8:0:0

而不是8 8 8 9 9 8 8 8
不应该是后构造的先析构吗
搜索更多相关主题的帖子: c++ 构造函数 int cout copy 
2018-04-10 17:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
先析构 tTime
再析构 func的参数 C
然后是析构 func的返回值
最后是 C1
2018-04-10 18:08
快速回复:c++ 构造函数与析构函数
数据加载中...
 
   



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

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