zoukankan      html  css  js  c++  java
  • c/c++ 编译器提供的默认6个函数

    c/c++ 编译器提供的默认6个函数

    1,构造函数

    2,拷贝构造函数

    3,析构函数

    4,=重载函数

    5,&重载函数

    6,const&重载函数

    #include <iostream>
    using namespace std;
    
    class Test{
    public:
      Test(int d = 0):data(d){
        cout << "c" << endl;
      }
      Test(const Test &t){
        cout << "copy" << endl;
        data = t.data;
      }
      Test& operator= (const Test &t){
        cout << "assign" << endl;
        if(this != &t){
          data = t.data;
        }
        return *this;
      }
      ~Test(){
        cout << "f" << endl;
      }
      Test* operator&(){
        cout << "operator&" << endl;
        return this;
      }
      const Test* operator&() const{
        cout << "const operator&" << endl;
        return this;
      }
    private:
      int data;
    };
    
    int main(){
      Test t;//构造函数                                                
      Test t1 = t;//拷贝构造函数                                       
      Test t2;
      t2 = t;//operator=                                               
    
      Test t3;
      Test *pt3 = &t3;//operator&                                      
    
      const Test t4;
      const Test *pt4 = &t4;//const operator&                          
    }
    
  • 相关阅读:
    POI2014 洛谷P3574 FarmCraft 题解
    JZOJ 3468 OSU!题解
    sublime配置C++编译环境
    本地配置gitee
    数论基础
    HDU
    HDU-3033 I love sneakers! 题解
    HDU-4341 Gold miner 题解
    HDU
    MyBatis框架及原理分析
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/9499631.html
Copyright © 2011-2022 走看看