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
    */

  • 相关阅读:
    大话设计模式--中介者模式
    大话设计模式--职责链模式
    大话设计模式--命令模式
    大话设计模式--桥接模式
    迷宫求解
    stuct、class、typedef
    软件测试
    Scrapy初探
    python练习
    链表基础
  • 原文地址:https://www.cnblogs.com/hellogiser/p/default-constructor_vs_copy-constructor_vs_copy-assignment.html
Copyright © 2011-2022 走看看