溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

cocos2d-x學(xué)習(xí)筆記(一)C++基礎(chǔ)知識(shí)

發(fā)布時(shí)間:2020-07-07 19:20:04 來(lái)源:網(wǎng)絡(luò) 閱讀:375 作者:wty530 欄目:游戲開(kāi)發(fā)

以下內(nèi)容為部分C++基礎(chǔ)知識(shí)點(diǎn):

1、C++特點(diǎn)

C++是在C語(yǔ)言的基礎(chǔ)上發(fā)展來(lái)的,但是并不是C++比C語(yǔ)言高級(jí),兩者的編程思想不一樣,應(yīng)用的領(lǐng)域也不一樣。在各自的領(lǐng)域,誰(shuí)也不能替代誰(shuí)。C++相對(duì)于C主要有如下特點(diǎn):

  類(lèi)型檢查更為嚴(yán)格

  增加了面向?qū)ο蟮臋C(jī)制

  增加了泛型編程的機(jī)制

  增加了異常處理

  增加了運(yùn)算符重載

  增加了標(biāo)準(zhǔn)模板庫(kù)(STL

2、數(shù)據(jù)類(lèi)型

  • 基本類(lèi)型:整型、浮點(diǎn)型、char類(lèi)型和布爾型bool

  • 派生類(lèi)型:指針類(lèi)型(*)、枚舉類(lèi)型(enum)、數(shù)組類(lèi)型([])、結(jié)構(gòu)體類(lèi)型(struct)、聯(lián)合類(lèi)型(union)、類(lèi)類(lèi)型(class)。

  • 空類(lèi)型為void。

3、枚舉類(lèi)型(enum

定義常量,三種定義方法:

方法 1

enumDirection

{

UP,DOWN,LEFT,RIGHT

};

方法 2

enum

{

UP,DOWN,LEFT,RIGHT

}Direction;

方法3

typedefenum

{

UP,DOWN,LEFT,RIGHT

}Direction;

4、聯(lián)合類(lèi)型(union

聯(lián)合類(lèi)型允許以不同的數(shù)據(jù)類(lèi)型訪問(wèn)相同的內(nèi)存,因?yàn)樗麄儗?shí)際上實(shí)在內(nèi)存中的相同位置

unionSutdent

{

         const char *name;

         int age;

}s;

5、C++面向?qū)ο蟮娜齻€(gè)基本特征是

  • 封裝

封裝,也就是把客觀事物封裝成抽象的類(lèi),并且類(lèi)可以把自己的數(shù)據(jù)和方法只讓可信的類(lèi)或者對(duì)象操作,對(duì)不可信的進(jìn)行信息隱藏。

  • 繼承

繼承是指這樣一種能力:它可以使用現(xiàn)有類(lèi)的所有功能,并在無(wú)需重新編寫(xiě)原來(lái)的類(lèi)的情況下對(duì)這些功能進(jìn)行擴(kuò)展。

  • 多態(tài)

實(shí)現(xiàn)多態(tài),有二種方式,覆蓋,重載。

覆蓋,是指子類(lèi)重新定義父類(lèi)的虛函數(shù)的做法。

重載,是指允許存在多個(gè)同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個(gè)數(shù)不同,或許參數(shù)類(lèi)型不同,或許兩者都不同)。

6、類(lèi)聲明

class Student

{

       Int age;  //成員變量

       string name;

       char sex;

public:

void display();      //聲明成員函數(shù)

};

voidStudent::display()

{

         cout<<”age:”<<age<<endl;

         cout<<” name:”<< name <<endl;

cout<<” sex:”<< sex <<endl;

}

7、訪問(wèn)限定符

privateprivate所限定的成員,只能被這個(gè)類(lèi)本身訪問(wèn),默認(rèn)為private。

publicpublic的成員,可以被所有的類(lèi)訪問(wèn)。

protectedprotected聲明的成員成為受保護(hù)的成員,不能被類(lèi)外訪問(wèn),但可以被派生類(lèi)的成員函數(shù)訪問(wèn)。

8、靜態(tài)成員

靜態(tài)函數(shù)只能訪問(wèn)靜態(tài)成員變量,不能訪問(wèn)實(shí)例成員變量。

而實(shí)例函數(shù)能夠訪問(wèn):實(shí)例變量和靜態(tài)變量。

靜態(tài)變量和函數(shù)可以通過(guò)類(lèi)::靜態(tài)變量(或靜態(tài)函數(shù))訪問(wèn),也可以通過(guò)對(duì)象.靜態(tài)變量(或靜態(tài)函數(shù))訪問(wèn)。

class Account

{

private:

       string owner;

public:

       static double interestRate;//匯率

       static double getInterestRate()

{

              return interstRate;

       }

}

doubleAccount::interestRate = 0.514;

intmain()

{

doublerate1 = Account::interestRate;

         double rate2 = Account:: getInterestRate();

         Account account1 = Account();

       doublerate3 = account1. getInterestRate();

       return0;

}

9this指針

指向本類(lèi)對(duì)象的指針,這個(gè)指針被稱(chēng)為this。

10、對(duì)象的動(dòng)態(tài)建立和釋放

使用new算符動(dòng)態(tài)建立對(duì)象,用delete運(yùn)算符銷(xiāo)毀對(duì)象。

Student *stud1 = new Student();

delete stud1;

11、純虛函數(shù)

在基類(lèi)中聲明,但是沒(méi)有定義的虛函數(shù),而且設(shè)置函數(shù)值等于零。純虛函數(shù)的定義格式為:

virtual <函數(shù)類(lèi)型><虛函數(shù)名稱(chēng)> ( <參數(shù)列表> ) =0

12、const

C++ const 允許指定一個(gè)語(yǔ)義約束,編譯器會(huì)強(qiáng)制實(shí)施這個(gè)約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實(shí)有某個(gè)值保持不變,就應(yīng)該明確使用const,這樣可以獲得編譯器的幫助。

 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI