C++類的定義和聲明

來源:互聯網
上載者:User

標籤:name   元素   表達   c語言   最簡   開始   注意   關鍵字   containe   

參考:http://www.weixueyuan.net/view/6333.html

總結:

  類相當於一個新的資料類型,定義類對象時,除了能定義單個變數以外,用類定義一個數組或者指標都是可行的。

  在用類定義對象的時候,一定要先給出類聲明。

C++語言可以看成是C語言的擴充和改進,相對於C語言,C++語言主要是增添了物件導向的特性。類(Class)則是C++物件導向編程的實現方式。

無論是何種程式設計語言,進行物件導向程式設計都將是從類的設計開始的。什麼是類呢?其實很簡單,我們可以理解為一種使用者自訂的資料類型,類似於C語言裡面的結構體(struct),在本章最後我們將對比類和結構體之間的異同。

首先我們來瞭解一下類的聲明,先來看一個例子。

[例1] 一個最簡單的類聲明:

  1. class student
  2. {
  3. //可以在此處聲明類成員變數和成員函數
  4. };

在例1中建立了一個student類,可以在該類中聲明student類的成員變數和成員函數,用於描述student的各方面特性,例如姓名、學號、年齡等資訊。

在例1中class是C++關鍵字,也是用於類聲明的關鍵字。緊接class關鍵字之後的是我們自訂的類名student。

例1中的類定義我們可以理解為我們定義了一種新的資料類型,該資料類型的標識符為student(這個類似於int是C++中整形的標識符)。

特別要注意的一點是,在類聲明結束處右括弧“}”後面右一個分號“;”,這個分號一定不能忘記,它是類聲明的一部分。如果漏掉則會在程式編譯不通過。

聲明了student資料類型之後,我們就可以用其定義變數了,如:

  1. student LiLei; //建立對象

在這一條語句中就利用student資料類型聲明了一個LiLei的變數,這和

  1. int a; //定義整形變數

語句定義了一個整型變數表達的意思是類似的。而LiLei這個變數我們稱之為student類的對象。

在用類定義對象的時候,一定要先給出類聲明,這就好比用某種自訂資料類型來定義變數的時候,我們必須要先給出該資料類型的聲明一樣。由於C++裡面本身整合一些常用資料類型,如int、bool、double等,所以在用這些資料類型聲明變數時不需要再由我們自己給出型別宣告了。

在定義類的對象時,class關鍵字可要可不要,如例2所示,但通常出於習慣我們通常都會省略掉class關鍵字。

[例2] class關鍵字可要可不要:

複製純文字新視窗
 
  1. class student LiLei; //正確
  2. student LiLei; //同樣正確

定義類對象時,除了能定義單個變數以外,用類定義一個數組或者指標都是可行的。

[例3] 定義對象數組或指標:

  1. student all_student[1000];
  2. student * pointer;

在例3中,我們定義了一個all_student數組,該資料擁有1000個元素,每一個元素都是student類型。此外,我們定義了一個student類型的指標pointer,該指標可以指向student類型的變數,其用法跟普通指標是一樣的。

C++類的定義和聲明

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.