C++函数返回的临时对象用来初始化类对象是否调用拷贝构造函数

本文探讨了C++中函数返回的临时对象在初始化类对象时是否调用拷贝构造函数的问题。通过代码示例,解释了在特定情况下,由于内存复用,可能导致看起来未调用构造函数的现象,但实际上临时对象的内存已被用于新对象。
摘要由CSDN通过智能技术生成

C++函数返回的临时对象用来初始化类对象是否调用拷贝构造函数

最近,小编在备战考试的时候,被一个问题纠结了许久。最近获得老师启发,终于搞明白了临时对象初始化类对象调用拷贝构造函数的问题!下面是小编解疑过程中的代码:

#include <iostream>
using namespace std;
class Point 
{	
        public:		
                Point(int=0,int=0);
        	    Point (const Point&);
        	    void displayxy();			
        	    ~Point();    
        private:		 
                int X,Y;
 };
 //点类的实现部分
 Point::Point (int x,int y)
 {	
       X=x;	
       Y=y;    
       cout<<"Constructor is called! ";                        cout<<this<<endl;    
       displayxy();
}
Point::Point(const Point& p){	
        X=p.X;	
        Y=p.Y; 	
        cout<<"Copy constructor is called! ";	 cout<<this<<endl;    
        displayxy();
}
Point::~Point(){	
        cout<<"Destructor is called! ";	       cout<&
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值