栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

3.2拷贝构造函数调用时机

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3.2拷贝构造函数调用时机

 

第一种:用对象1 初始化 对象2

第二种:用对象1 初始化 对象2--括号法

注意:初始化操作 和 等号操作 是两个不同的概念

第三种:形参是一个元素,函数调用,会执行实参t7变量初始化形参obj变量

第四种:匿名对象的去和留 关键点:如果接匿名对象

结论1:函数的返回值是一个元素对象(复杂类型的),

返回的是一个新的匿名对象,所以会调用此对象类的copy构造函数

结论2:有关匿名对象的去和留

 如果用匿名对象 初始化 另外一个同类型的对象 匿名对象 转成有名对象

如果用匿名对象 赋值(=)给 另外一个同类型的对象 匿名对象 被析构

1、如果用匿名对象 初始化 另外一个同类型的对象 匿名对象 转成有名对象

2、如果用匿名对象 赋值(=)给 另外一个同类型的对象 匿名对象 被析构

#include 
#include 
#include 
#include 

using namespace std;

class Test1{
public:
    //无参构造函数
    Test1()
    {
        this->a = 0;
        this->b = 0;
        cout<<"无参构造函数"<a = a;
        this->b = b;
        cout<<"有参构造函数"<a = a;
        this->b = 0;
        cout<<"一个参数的有参构造函数"<a = obj.a +100;
        this->b = obj.b +100;
    }
    
    ~Test1()
    {
         cout<<"我是析构函数,被执行了"<a<b< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号