1. 程式人生 > >c++類和物件(2)

c++類和物件(2)

1:設計類就是設計型別
1)我們給這個賦予什麼合法值。2):類中包含什麼樣的函式和操作符。
3:新型別的物件該如何被建立和銷燬。4:物件的初始化和賦值。
5:物件作為函式的引數如何以值傳遞。6:誰使用此型別的物件成員。

類的成員public:公有型別成員
在關鍵詞public後面宣告:它是類與外部的介面。
任何外部函式都可以訪問公有型別函式和資料。

private:私有成員,只允許本類中的函式訪問,而類外部的任何函式都不能訪問。
如果緊跟在類名稱的後面宣告私有成員,則關鍵字private可以省略。

保護性成員:其差別與private類似,其差別表現在繼承與派生時對派生類的影響不同。通過類的物件呼叫成員函式,使用類的功能。
class Oclok

類的成員函式定義
1:在類中宣告成員函式原型。
2在函式名前使用類名加以限定,就可以在類外給出函式體實現。
3也可以直接在類中給出函式體,形成成員函式。
4允許宣告過載和預設引數值的函式.

內聯成員函式
1:較簡單的函式可以宣告為類聯形式。
2:行內函數體不要有迴圈語句和switch等複雜語句
3:在類中宣告類聯成員函式的方式。
將函式體放在類的宣告中,使用inline關鍵字。

class Clock{
public:
   void setTime(int newH=0,int newM=0,int newS=0);//因為沒有賦值,因此預設為零。實參沒有。
   void showTime();
   private:
   int hour,minute,second;
   }

以下是一個成員函式的實現

viod Clock::setTime(int newH,int newM,int newS){
hour=newH;
minute=newM;
second=newS;
}
void Clock::show Time(){
cout<<hour<<":"<<minute<<":"<<second;
}

以下是物件的使用

int main(){
Clock myClock;//後面就是物件
myClock.setTime(8,30,30);設定時間
myClock.showTime();顯示時間
return 0
}

列舉:
定義:enum class:即列舉型別名:底層型別(列舉值列表)

功能:用來建立符號常量,可以代替const.例如:
enum class Type(general,Light,Medium);//class Type 就是列舉,括號裡時=是符號常量。
1:在預設情況下,將整數值賦給列舉類量,不需要=號。
例如:enum Response(no,yes,maybe)//no=1,yes=2,maybe=3.
2:在定義列舉量時,最開始使用的列舉量才可以用。
例如:band=bule;band=2000;//2000不可以賦值給band,因為最開始賦值的變數時bule.
3:列舉不可以進行加減運算:++band,band=orange.均是錯誤的
4:spectrum型別只有8個值。
5:如果只是打算定義常量,列舉量就可以省略:enum (orange,yellow)

enum{zero,null=0}//建立多個值相同的列舉量。