C++对象引用问题。
3个回答
展开全部
前面两位基本说到点子上了,可惜,关键一句说错了
1. 这是一个典型的用来测试或者说演示拷贝构造函数的,重点不是构造函数。
2. func()函数是一个普通的函数,不是A类的成员函数;其不普通的地方在于:入口参数和返回类型都是A类的对象
3. 这段代码运行后会调用一次构造函数,两次拷贝构造函数(copy constructor)和三次析构函数
4. 拷贝构造函数分别发生在以下两处: 1)func(one);向形参传入实参时,会调用拷贝构造函数将实参a复制给形参one,并构造了一个临时对象;2)在func()内部调用return one;时,将临时对象经过拷贝构造函数复制一个对象返回。func()函数调用结束后,这两个对象都不再有用了,会调用两次析构函数
最后一次即第三次析构函数是析构A a;这句构造的对象a的。
希望对你有所帮助:)
1. 这是一个典型的用来测试或者说演示拷贝构造函数的,重点不是构造函数。
2. func()函数是一个普通的函数,不是A类的成员函数;其不普通的地方在于:入口参数和返回类型都是A类的对象
3. 这段代码运行后会调用一次构造函数,两次拷贝构造函数(copy constructor)和三次析构函数
4. 拷贝构造函数分别发生在以下两处: 1)func(one);向形参传入实参时,会调用拷贝构造函数将实参a复制给形参one,并构造了一个临时对象;2)在func()内部调用return one;时,将临时对象经过拷贝构造函数复制一个对象返回。func()函数调用结束后,这两个对象都不再有用了,会调用两次析构函数
最后一次即第三次析构函数是析构A a;这句构造的对象a的。
希望对你有所帮助:)
展开全部
A fun(A one)只是个普通函数,不要和成员函数混淆了,它只是用来测试构造函数的调用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个箭头:拷贝构造函数的声明
第二个箭头:func是main函数里的方法,提前定义,不是类里的方法,这个方法基本就是测试构造函数,可以让func()的结果只能作为左值吧,
第二个箭头:func是main函数里的方法,提前定义,不是类里的方法,这个方法基本就是测试构造函数,可以让func()的结果只能作为左值吧,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询