zoukankan      html  css  js  c++  java
  • default constructor,copy constructor,copy assignment

     C++ Code 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <iostream>
    using namespace std;

    class Base
    {
    public:
        Base(
    int v = 10): m_v(v)
        {
            puts(
    "default consturctor");
        }

        Base(
    const Base &other)
        {
            puts(
    "copy consturctor");
            
    this->m_v = other.m_v;
        }

        Base &
    operator =(const Base &other)
        {
            puts(
    "copy assignment");
            
    if(this == &other)
                
    return *this;
            
    this->m_v = other.m_v;
            
    return *this;
        }
    private:
        
    int m_v;
    };

    void test_case()
    {
        Base a;
        Base b(a);
        Base c = a;
        Base d;
        d = a;
    }

    int main()
    {
        test_case();
        
    return 0;
    }
    /*
     default consturctor
     copy consturctor
     copy consturctor
     default consturctor
     copy assignment
    */

  • 相关阅读:
    [leetcode-135-Candy]
    [leetcode-151-Reverse Words in a String]
    [leetcode-139-Word Break]
    [leetcode-129-Sum Root to Leaf Numbers]
    [leetcode-143-Reorder List]
    [leetcode-141-Linked List Cycle]
    oracle 环境变量(中文显示乱码)
    Oracle 自增长id
    Spring.net 事件的注入
    Spirng.net 替换任意方法
  • 原文地址:https://www.cnblogs.com/hellogiser/p/default-constructor_vs_copy-constructor_vs_copy-assignment.html
Copyright © 2011-2022 走看看