日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Qt图形界面编程入门(4)

發(fā)布時(shí)間:2025/3/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt图形界面编程入门(4) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

構(gòu)造函數(shù)和析構(gòu)函數(shù)

構(gòu)造函數(shù)是一個(gè)與類(lèi)同名的特殊的公有成員函數(shù)。

創(chuàng)建類(lèi)對(duì)象時(shí)構(gòu)造函數(shù)會(huì)被調(diào)用,且只調(diào)用一次/

構(gòu)造函數(shù)無(wú)返回類(lèi)型。

·? 默認(rèn)構(gòu)造函數(shù)格式:

? 類(lèi)名(){.......}

Account(){ //無(wú)返回類(lèi)型,無(wú)參數(shù)ID = 0; //缺省IDstrcpy(Name,""); //缺省賬戶(hù)名balance = 0.0; //缺省余額 }

· 帶參數(shù)的構(gòu)造函數(shù)。其格式如下:

? 類(lèi)名(形式參數(shù)表){.......}

Account(int ID,char Name[],float balance){this->ID = ID;strcpy(this->Name,Name);this->balance = balance; } //這個(gè)構(gòu)造函數(shù)的內(nèi)容和 Qt圖形界面編程入門(mén)(3) 中Inital函數(shù)完全相同

·? 拷貝構(gòu)造函數(shù)

類(lèi)名(類(lèi)名 &c)

這里第一個(gè)類(lèi)名是函數(shù)名,第二個(gè)類(lèi)名是說(shuō)明引用變量c的類(lèi)型

Account(Account &other){ID = other.ID; //為什么可訪(fǎng)問(wèn)other的私有成員?strcpy(Name,other.Name);balance = other.balance; } //拷貝構(gòu)造函數(shù),就是創(chuàng)建一個(gè)現(xiàn)有對(duì)象的副本 //C++規(guī)定,在類(lèi)的成員函數(shù)中,不僅僅可利用“對(duì)象.變量名”的形式訪(fǎng)問(wèn)自身所有的數(shù)據(jù)成員,也可以訪(fǎng)問(wèn)同一個(gè)類(lèi)的其他對(duì)象的所有數(shù)據(jù)成員

在Account的拷貝構(gòu)造函數(shù)中使用引用類(lèi)型是因?yàn)槿绻褂闷胀ǖ念?lèi)對(duì)象做參數(shù),那么該函數(shù)調(diào)用時(shí)會(huì)反復(fù)不停的創(chuàng)建參數(shù)表里的局部對(duì)象,引發(fā)死循環(huán)。

函數(shù)重載與構(gòu)造函數(shù)

函數(shù)重載是C++的專(zhuān)有概念。

在傳統(tǒng)C語(yǔ)言中要定義在兩個(gè)整數(shù),三個(gè)整數(shù),兩個(gè)實(shí)數(shù)或者若干整數(shù)中求最大值的函數(shù),可定義如下:

int Max2(int, int);// 返回兩個(gè)整數(shù)中最大值 int Max3(int, int ,int); //返回三個(gè)整數(shù)中最大值 //返回兩數(shù)中最大值 double MaxD2(double, double); //返回?cái)?shù)組A前n個(gè)元素的最大值 int MaxArray(int A[],int n);

在C++中則可以定義為:

int Max(int,int); //返回兩個(gè)整數(shù)中最大值 int Max(int, int, int); //返回三個(gè)整數(shù)中最大值 //返回兩個(gè)實(shí)數(shù)中的最大值 double Max(double,double); //返回?cái)?shù)組A前n個(gè)元素的最大值 int Max(int A[],int n);

函數(shù)重載是指相同的作用域中的函數(shù)名稱(chēng)相同,而參數(shù)不同的多個(gè)函數(shù)并存的現(xiàn)象。

于是在賬戶(hù)類(lèi)中可能程序下面三個(gè)構(gòu)造函數(shù)

Account(); Account(int ID,char Name[], float balance); Account(Account &other);

如何調(diào)用構(gòu)造函數(shù)

int main(){char name[20] = "Jack";// ..........Account a1; //構(gòu)造函數(shù)a1.Initial(10112,name,600.0);Account a2(a1); //調(diào)用拷貝構(gòu)造函數(shù)Account a3 //調(diào)用默認(rèn)構(gòu)造函數(shù) }

構(gòu)造函數(shù)只在對(duì)象創(chuàng)建時(shí)調(diào)用且僅僅調(diào)用一次

此后再不能通過(guò)“對(duì)象.函數(shù)名(參數(shù))”的形式調(diào)用

對(duì)象數(shù)組如何調(diào)用構(gòu)造函數(shù)

Account C[3]; C[0] = Account(10101,name,500.0); C[1] = Account(10102,name,1600.0); C[2] = Account(10103,name,900.0); //也可以寫(xiě)成下面形式: Account C[3] = { Account(10101,name,500.0), Account(10102,name,1600.0), Account(10103,name,900.0) };

動(dòng)態(tài)對(duì)象如何調(diào)用構(gòu)造函數(shù)

Account *pA; //動(dòng)態(tài)創(chuàng)建1個(gè)對(duì)象,調(diào)用默認(rèn)構(gòu)造函數(shù) pA = new Account;Account *pA,*pB; //調(diào)用帶參的構(gòu)造函數(shù) pA = new Account(10001,name,500.0); //調(diào)用拷貝構(gòu)造函數(shù) pB = new Account(*pA);

析構(gòu)函數(shù)的定義和作用

·? 析構(gòu)函數(shù)函數(shù)名與類(lèi)名相同,緊貼再名稱(chēng)前面用波浪號(hào)~與構(gòu)造函數(shù)進(jìn)行區(qū)分,例如:

~Point();

·? 構(gòu)造函數(shù)沒(méi)有返回類(lèi)型,也不能指定參數(shù),因?yàn)槲鰳?gòu)函數(shù)只能有一個(gè),不能被重載;

·? 當(dāng)對(duì)象被撤銷(xiāo)時(shí)析構(gòu)函數(shù)被自動(dòng)調(diào)用,與構(gòu)造函數(shù)不同的是,析構(gòu)函數(shù)可以被顯式調(diào)用,以釋放對(duì)象中動(dòng)態(tài)申請(qǐng)的內(nèi)存。

構(gòu)造函數(shù)的初始化列表

初始化列表是構(gòu)造函數(shù)特有的初始化變量的方式,被訪(fǎng)者構(gòu)造函數(shù)形式參數(shù)表最后的)后邊,函數(shù)體起始位置的{前面

類(lèi)的靜態(tài)成員

用關(guān)鍵字static修飾的數(shù)據(jù)成員叫做靜態(tài)數(shù)據(jù)成員:

class MyClass{int x;static int count; //static 放在某種類(lèi)型之前 }; MyClass MemberX,MemberY; MyClass::m_nCount = 0;

靜態(tài)成員函數(shù)只能直接訪(fǎng)問(wèn)類(lèi)中的靜態(tài)成員變量

所有非靜態(tài)成員函數(shù)均可直接訪(fǎng)問(wèn)靜態(tài)和非靜態(tài)的數(shù)據(jù)成員

靜態(tài)成員為類(lèi)的所有對(duì)象所共享

總結(jié)

以上是生活随笔為你收集整理的Qt图形界面编程入门(4)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。