C/C++中如何让屏幕在return 0这后暂停?如下代码.
如是添加getchar()或者system("pause")或者Sleep(n)只能在return0;之前添加.这样我就看不到完整和运行结果了.完可的结果是有4个"des...
如是添加getchar()或者system("pause")或者Sleep(n)只能在return 0;之前添加 .这样我就看不到完整和运行结果了.完可的结果是有4个"des of",有2个是在return 0这后才会显示出来的.
所以,如何在return 0之后暂停屏幕呢?
如果没有代码可以执行,设置编辑器的方法也可以(我用vs2010).谢谢啦.~
#include<iostream>
using namespace std;
class A
{
int x;
public:
A(int m=0){x=m;cout<<"con of x="<<x<<endl;}
A(const A &a){x=a.x;cout<<"copy on"<<endl;}
~A(){cout<<"des of x="<<x<<endl;}
void set(int n){x=n;}
};
A function(A &a)
{
a.set(20);
A temp=a;
return temp;
}
int main()
{
A a1,a2(10);
a1=function(a2);
return 0;
} 展开
所以,如何在return 0之后暂停屏幕呢?
如果没有代码可以执行,设置编辑器的方法也可以(我用vs2010).谢谢啦.~
#include<iostream>
using namespace std;
class A
{
int x;
public:
A(int m=0){x=m;cout<<"con of x="<<x<<endl;}
A(const A &a){x=a.x;cout<<"copy on"<<endl;}
~A(){cout<<"des of x="<<x<<endl;}
void set(int n){x=n;}
};
A function(A &a)
{
a.set(20);
A temp=a;
return temp;
}
int main()
{
A a1,a2(10);
a1=function(a2);
return 0;
} 展开
3个回答
展开全部
终极解决办法,用_onexit注册回调函数,该函数可以在main函数结束之后调用.
#include<iostream>
#include<cstdlib>
using namespace std;
class A
{
int x;
public:
A(int m=0){x=m;cout<<"con of x="<<x<<endl;}
A(const A &a){x=a.x;cout<<"copy on"<<endl;}
~A(){cout<<"des of x="<<x<<endl;}
void set(int n){x=n;}
};
A function(A &a)
{
a.set(20);
A temp=a;
return temp;
}
int fn1(void)
{
system("pause");
return 0;
}
int main()
{
_onexit(fn1);
A a1,a2(10);
a1=function(a2);
return 0;
}
追问
佩服!
展开全部
不介意的话可以用system("PAUSE"); #include<cstdlib>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询