中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

構造和析構的基礎知識

發布時間:2020-07-06 15:18:46 來源:網絡 閱讀:439 作者:泉奕 欄目:編程語言

前言

  創建一個對象時,常常需要做某些初始化的工作,例如對數據成員賦值,注意,類的數據成員是不能在聲明類時初始化的

  為了解決這個問題,C++編譯器提供了 構造函數 來處理對象的初始化。構造函數是一種特殊的成員函數,與其他成員函數不同,不需要用戶來調用它,而是在建立對象時自動執行。


 構造和析構的基礎知識

2、構造函數的分類(三個)

 (1)無參構造函數   

      Test()
      {
               ;
      }

 (2)帶參數構造函數   

      Test(int a,int b)
      {
                ;
      }

 (3)賦值構造函數

      Test(const Test &obj)
      {
                ;
      }

構造函數的調用

#include <iostream>
using namespace std;

class Test
{
public:
    Test()          //無參構造函數
    {
        m_a = 0;
        m_b = 0;
        cout << "無參構造函數" << endl;
    }
    
    Test(int a)      //一個參數的有參構造函數
    {
        m_a = a;
        m_b = b;
    }
    
    Test(int a,int b)  //有參構造函數       //調用有參構造函數有三種方法
    {
        m_a = a;
        m_b = b;
        cout << "有參構造函數" << endl;
    }
    
    Test(const Test& obj)   //賦值構造函數(copy構造函數)
    {
        cout << "我也是構造函數" << endl;
    }
public:
    void print()
    {
        cout << "普通成員函數" << endl;
    }
protected:    
private:
    int m_a;
    int m_b;
}

void main()
{
    Test t1;   //無參構造函數的調用  (對象后什么都不寫)
    
    //有參函數的第一種調用方法  括號法
    
    Test t1(1,2);  //調用兩個參數的構造函數   
    t1.ptint();
    
    //有參函數的第二種調用方法  =號法   (=操作不再是C語言中的功能。C++對= 進行了功能性增強)
    
    Test t2 = (3,4);  //調用一個參數的構造函數  因為()號里是逗號表達式,結果為 4;即最后一個數    
    t2.print();
    
    Test t3 = 4;
    t2.print();      //跟 Test t2 = (3,4) 效果是一樣的
    
    //有參函數的第三種調用方法  手動的調用構造函數
    Test t4 = Test(1,2);     //調用了有兩個參數的構造函數
                             //直接調用構造函數,會產生匿名對象(涉及到匿名對象的去和留)
    
    cout << "hello" << endl;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌吉市| 漳浦县| 巴林左旗| 鹰潭市| 晋中市| 汾西县| 新营市| 德保县| 资溪县| 卓尼县| 孟州市| 白水县| 上虞市| 昌宁县| 中阳县| 宝应县| 惠来县| 延边| 辽源市| 大新县| 仁怀市| 军事| 漾濞| 阿拉善右旗| 汽车| 墨脱县| 龙胜| 比如县| 永胜县| 鲁甸县| 渑池县| 光泽县| 左云县| 龙陵县| 雷州市| 桐庐县| 绥德县| 利辛县| 贞丰县| 滁州市| 平武县|