91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

構造和析構的基礎知識

發布時間: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

武胜县| 申扎县| 金阳县| 台东市| 凉城县| 阜新| 长岭县| 虹口区| 临漳县| 德江县| 全椒县| 凤冈县| 东城区| 新龙县| 邢台县| 垦利县| 若尔盖县| 宁津县| 广元市| 同心县| 乳源| 沁源县| 额尔古纳市| 得荣县| 宜良县| 龙陵县| 云南省| 登封市| 汉川市| 万年县| 调兵山市| 泉州市| 久治县| 渭源县| 元阳县| 尼木县| 焦作市| 永靖县| 密山市| 大新县| 阿荣旗|