关于构造拷贝函数的使用和析构函数的调用问题,代码和运行结果如下:
时间:2011-12-22
来源:互联网
#include "stdafx.h"
#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){
cout<<"copy constructor,before call:"<<H<<":"<<M<<":"<<S<<endl;
H=p.H;
M=p.M;
S=p.S;
}
void Showtime(){
cout<<H<<":"<<M<<":"<<S<<endl;
}
};
Clock fun(Clock C)
{
return C;
}
int main(){
Clock C1(8,0,0);
Clock C2(9,0,0);
Clock C3(C1);
fun(C2);
Clock C4;
C4=C2;
system("pause");
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#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){
cout<<"copy constructor,before call:"<<H<<":"<<M<<":"<<S<<endl;
H=p.H;
M=p.M;
S=p.S;
}
void Showtime(){
cout<<H<<":"<<M<<":"<<S<<endl;
}
};
Clock fun(Clock C)
{
return C;
}
int main(){
Clock C1(8,0,0);
Clock C2(9,0,0);
Clock C3(C1);
fun(C2);
Clock C4;
C4=C2;
system("pause");
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
作者: xkillercn 发布时间: 2011-12-22
为什么未调用C1,C2,C3,C4的析构函数???
作者: xkillercn 发布时间: 2011-12-22
C/C++ code
int main() { { Clock C1(8,0,0); Clock C2(9,0,0); Clock C3(C1); fun(C2); Clock C4; C4=C2; system("pause"); return 0; }//这样试试 }
作者: Demon__Hunter 发布时间: 2011-12-22
引用 2 楼 demon__hunter 的回复:
明显要这样啊:
C/C++ code
int main() { { Clock C1(8,0,0); Clock C2(9,0,0); Clock C3(C1); fun(C2); Clock C4; C4=C2; } system("pause"); return 0; }
作者: yisikaipu 发布时间: 2011-12-22
引用 1 楼 xkillercn 的回复:为什么未调用C1,C2,C3,C4的析构函数???
因为return之后才调用析构,这时候cout已经收不到了,要想收到,给个花括号,显式让它们出作用域而析构
作者: yisikaipu 发布时间: 2011-12-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28