久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

C++構造函數(shù)、析構函數(shù)-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設與策劃設計,茌平網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設十年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:茌平等地區(qū)。茌平做網(wǎng)站價格咨詢:028-86922220

一、構造函數(shù)

1、概念

2、作用

3、構造函數(shù)和其他概念的組合

4、拷貝構造函數(shù)

二、析構函數(shù)

1、概念

三、this指針


一、構造函數(shù) 1、概念

在類中,我們除了有函數(shù)之外,還有變量成員,為了方便我們實例化一個對象的時候給予該對象一些基本的數(shù)值,我們只能編寫相應的初始化函數(shù)接口以供外界調(diào)用,這是實例化類時絕大多數(shù)需要做的工作,所以編譯器為了統(tǒng)一化這個功能,衍生出了構造函數(shù)這個概念。構造函數(shù)的函數(shù)名跟類一致,且沒有返回值這個概念,在每一個類的內(nèi)部,都會有其特定的構造函數(shù),如果沒有自定義構造函數(shù),編譯器會幫我們生成一個空的構造函數(shù),并在實例化某個對象的時候自動調(diào)用該構造函數(shù)。

2、作用

構造函數(shù)的作用特別簡單,就是將我們類內(nèi)的變量成員統(tǒng)一的進行有選擇的初始化,方便我們的使用。

3、構造函數(shù)和其他概念的組合
  • 構造函數(shù)和默認參數(shù):規(guī)定默認參數(shù)在構造函數(shù)的聲明處實現(xiàn);
  • 構造函數(shù)與函數(shù)重載:構造函數(shù)默認支持函數(shù)重載,與正常函數(shù)一樣;
  • 構造函數(shù)的初始化列表:構造函數(shù)的初始化除了在函數(shù)體內(nèi)部實現(xiàn),還可以在初始化列表上實現(xiàn)。在函數(shù)體內(nèi)部初始化,默認是在變量創(chuàng)建完之后進行賦值操作;而在初始化列表上進行初始化是默認在變量創(chuàng)建的過程進行初始化,這解決了用const修飾的變量成員的初始化問題。而且在后期類與類繼承的時候,父類的構造函數(shù)也需要在子類的構造函數(shù)的初始化列表上指定。
class Student
{
public:
    Student();//構造函數(shù)
    Student(int a, int b = 0);//構造函數(shù)的函數(shù)重載與默認參數(shù),注意默認參數(shù)寫在函數(shù)定義處
    
private:
    int m_a;
    int m_b;
};


Student::Student(int a, int b):m_a(a),m_b(b)//構造參數(shù)的初始化列表,格式為():變量(值),變量(值)
{
    
}

Student::Student(int a, int b)//在函數(shù)體內(nèi)初始化的構造函數(shù)
{
    m_a = a;
    m_b = b;
}
4、拷貝構造函數(shù)

是指同一個類實例化出來的對象去初始化另一個對象,說白了就是拿一個同樣變量成員的對象內(nèi)的內(nèi)容去初始化另一個對象,如下:

class Student
{
public:
    Student();//構造函數(shù)
    Student(int a,int b);
    Student(Student &s);
    
private:
    int m_a;
    int m_b;
};

int main()
{
    Student s1(10,20);//通過正常的構造函數(shù)初始化對象
    Student s2(s1);//通過拷貝構造函數(shù)初始化對象

    
    return 0;
}

拷貝構造函數(shù)分為兩類,分別是淺拷貝和深拷貝。

  • 淺拷貝:將原對象的變量存放的內(nèi)容原封不動的拷貝給新對象;
  • 深拷貝:在淺拷貝的基礎上,當遇到引用或者指針變量時,其會給新對象也開辟一塊內(nèi)存空間,并把原對象的指針或引用變量指向的內(nèi)容拷貝到新對象開辟出來的內(nèi)存空間。
  • 深拷貝相對淺拷貝更加安全和合理,它避免了兩個實例化同時釋放同一片空間的錯誤。
二、析構函數(shù) 1、概念

析構函數(shù)是跟構造函數(shù)一對出現(xiàn)的,在一個類里面,析構函數(shù)也是默認存在的,如果我們沒有自定義,編譯器會幫我們生成一個默認的析構函數(shù),析構函數(shù)的函數(shù)名是在構造函數(shù)的基礎上最前面加了~,即~類名(),這個函數(shù)會在一個對象結束時由編譯器自動調(diào)用,幫助我們釋放掉這個對象申請的一系列堆空間。

三、this指針

this指針是編譯器自動生成的一個類實例化時指向自身對象的一個指針,大概的作用如下:

class Student
{
public:
    Student();//構造函數(shù)
    Student(int a,int b);//編譯器會修改為Student(int a,int b,Student *this)
    Student(Student &s);
    
private:
    int m_a;
    int m_b;
};

int main()
{
    Student s1(10,20);//編譯器其實會將其修改為Student s1(10, 20, &s1)
    Student s2(s1);//

    
    return 0;
}
Student::Student(int a, int b)//在函數(shù)體內(nèi)初始化的構造函數(shù)
{
    this->m_a = a;//可以通過this指針訪問對象的成員
    this->m_b = b;
}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:C++構造函數(shù)、析構函數(shù)-創(chuàng)新互聯(lián)
文章分享:http://sd-ha.com/article16/jjhdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、建站公司網(wǎng)站排名、外貿(mào)網(wǎng)站建設、自適應網(wǎng)站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化