C++什么时候会调用复制构造函数?
讲到类对象的时候,书上说创建临时副本对象的时候,会调用。何为临时?怎样才算是临时?怎样不算临时?对象赋值给对象都会调用复制构造函数么?...
讲到类对象的时候,书上说创建临时副本对象的时候,会调用。何为临时?怎样才算是临时?怎样不算临时?对象赋值给对象都会调用复制构造函数么?
展开
展开全部
临时对象一般都是没有命名的对象,比如我们用C++中的CTime类,我们获取当前时间收经常用CTime now=CTime::GetCurrentTime();后边的调用GetCurrentTime()函数时候就是先创建了一个临时对象,然后获取当前时间,但是这个对象没有命名,所以你不能去在别的地方使用它。
再来个简单的例子,比如
class CTest
{
CTest(int n):m_n(n);
int m_n;
}
你如果定义一个对象时候可能用到 CTest copy = CTest(1);=号后面那个就是临时的对象,它没有名字。
对象赋值给对象的话,应该都会调用复制构造函数的。
再来个简单的例子,比如
class CTest
{
CTest(int n):m_n(n);
int m_n;
}
你如果定义一个对象时候可能用到 CTest copy = CTest(1);=号后面那个就是临时的对象,它没有名字。
对象赋值给对象的话,应该都会调用复制构造函数的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询