手机
当前位置:查字典教程网 >编程开发 >C语言 >C++函数返回值为对象时,构造析构函数的执行细节
C++函数返回值为对象时,构造析构函数的执行细节
摘要:看如下代码:复制代码代码如下:#includeclassTestConstructor{public:TestConstructor(){s...

看如下代码:

复制代码 代码如下:

#include<iostream>

class TestConstructor

{

public:

TestConstructor()

{

std::cout<<"TestConstructor()"<<std::endl;

}

~TestConstructor()

{

std::cout<<"~TestConstructor()"<<std::endl;

}

TestConstructor(const TestConstructor& testObj)

{

std::cout<<"TestConstructor(const TestConstructor&)"<<std::endl;

}

TestConstructor& operator = (const TestConstructor& testObj)

{

std::cout<<"TestConstructor& operator = (const TestConstructor& testObj)"<<std::endl;

return *this;

}

};

TestConstructor testFunc()

{

TestConstructor testInFunc; //3、调用TestConstructor() 生成对象testInFunc

return testInFunc; //4、调用TestConstructor(const TestConstructor&) 生成临时对象

//5、调用析构函数,析构对象testInFunc

}

int main()

{

TestConstructor test; //1、调用TestConstructor() 生成对象test

test = testFunc(); //2、调用testFunc() //6、调用等号把临时对象复制给对象test //7、调用析构函数,析构临时对象

return 0; //8、调用析构函数,析构对象test

}

看输出:

C++函数返回值为对象时,构造析构函数的执行细节1

有注释,有输出。执行细节,一目了然了吧

【C++函数返回值为对象时,构造析构函数的执行细节】相关文章:

基于errno返回值的对应错误码的详细介绍

枚举和宏的区别详细解析

探讨:C++中函数返回引用的注意事项

虚函数被类的构造析构函数和成员函数调用虚函数的执行过程

C++函数参数取默认值的深入详解

深入C++拷贝构造函数的总结详解

解析C++中虚析构函数的作用

函数外初始化与函数内初始化详细解析

c++友元函数与友元类的深入解析

C++用指针变量作为函数的参数接受数组的值的问题详细总结

精品推荐
分类导航