zoukankan      html  css  js  c++  java
  • 92、构造函数、拷贝构造函数和赋值操作符的区别

    构造函数:

    对象不存在,没用别的对象初始化,在创建一个新的对象时调用构造函数

    拷贝构造函数:

    对象不存在,但是使用别的已经存在的对象来进行初始化

    赋值运算符:

    对象存在,用别的对象给它赋值,这属于重载“=”号运算符的范畴,“=”号两侧的对象都是已存在的

    举个例子:

    #include <iostream>
    using namespace std;
    class A
    {
    public:
    A()
    {
    cout << "我是构造函数" << endl;
    }
    A(const A& a)
    {
    cout << "我是拷贝构造函数" << endl;
    }
    A& operator = (A& a)
    {
    cout << "我是赋值操作符" << endl;
    return *this;
    }
    ~A() {};
    };
    int main()
    {
    A a1; //调用构造函数
    A a2 = a1; //调用拷贝构造函数
    a2 = a1; //调用赋值操作符
    return 0;
    }
    //输出结果
    //我是构造函数
    //我是拷贝构造函数
    //我是赋值操作符
  • 相关阅读:
    JS闭包
    webpack管理资源
    在webpack中使用配置文件
    webpack起步
    buuctf-MISC 面具下的flag
    Kali linux Steghide开源隐写工具
    buuctf-misc 九连环
    buuctf-Crypto rsarsa 1
    buuctf-web HardSQL 1
    buuctf-web Hack World 1
  • 原文地址:https://www.cnblogs.com/crbhf/p/14995003.html
Copyright © 2011-2022 走看看