网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月27日
漏签
0
天
c++吧
关注:
595,853
贴子:
2,106,418
看贴
图片
吧主推荐
游戏
9
回复贴,共
1
页
<<返回c++吧
>0< 加载中...
为什么是这个顺序 不该是先输出再析构吗?
只看楼主
收藏
回复
一只寂寞的茄子
=
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
黎凼1
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<iostream>
using namespace std;
class Ex1
{
int x;
public:
Ex1(int a)
{
x=a;
cout<<"\t 构造"<<x<<endl;
}
~Ex1()
{ cout<<"析构!"<<x<<endl; }
};
void main()
{
Ex1 x1(50);
Ex1 x2=100;
x2=200;
cout<<"标志"<<endl;
};
我是了一下,发现是x2线被析构了。
黎凼1
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后我在里面重载了=号之后,就分别少调用了一次构造函数和析构函数。
花市水
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
x2=100按值传递会创建一
个形参的临时对象。然后调用合成的拷贝构造函数赋予给实参。
。而对于临时对象当创建它的完整表达式的时候被销毁直接调用析构函数
ymdqxmo
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
①:你这个代码排版太难看了;
②:void main……
③:复制构造函数你不显式定义一个并打印出点信息?
④:不要通过 Ex1::x 的值判断是否为同一个对象,最可靠的方式是看地址,同一个对象的地址是相同的,如果不是同一个则地址不同。在构造函数(包含复制构造函数)和析构函数中打印 this,在 main 里再打印 &x1 和 &x2。这才是完美无缺的方法。
jerwindy
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
刚好昨天学类
小文和那个谁
throw
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
Ex1 x2=100 目测是执行的构造函数(不是拷贝构造函数)
x2=200,有参构造函数创建临时对象,赋值给x2
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示