[C++之旅] 7 C++類和物件
[C++之旅] 7 C++類和物件
類和物件
類:相當於一個種類,以狗狗為例,狗就是一個類,狗這個類裡包含無數種不同種類的狗狗;每個狗狗都有自己的種類名(如哈士奇、秋田犬等等)、名字、年齡、叫聲等,種類、名字、年齡為狗的屬性,也就是狗這個類的資料成員,叫聲為狗狗的技能,也就是狗這個類的成員函式。
成員:具體指向某個事物,相當於狗這個類中的哈士奇,他的名字叫旺財、年齡1歲等等
class Dog //dog為類名
{
char type; //資料型別
char name[20];
int age;
void speak(); //成員函式
}
訪問限定符:在類中不是把狗狗的所有屬性或技能描述出來,比如狗狗鬍鬚的長短等等,但狗狗的鬍鬚長度又是描述狗狗的一個特徵,因此就需要訪問限定符,將人們關心狗狗的特徵顯示出來,不關心的部分隱藏起來;訪問限定符有三個:public
公共的、protected
受保護的、private
私有的;
以狗狗為例程式如下
class Dog
{
public: //公共的成員
char type;
char name[20];
int age;
void speak();
private: //私有的成員
int beard;
}
物件的例項化
例項化物件就好比在狗這個種類中生成一條或多條你自己的狗狗。在C++中例項化有兩種方式:從棧中例項化、從堆中例項化
- 從棧中例項化物件
以上面狗狗的類為例,現在例項化一個狗狗的物件。
int main(void)
{
Drog doge; //例項化一個物件
Drog doges[10]; //例項化一個物件陣列
return 0;
}
- 從堆中例項化
int main(void)
{
Drog *doge = new Drog(); //例項化一個物件
Drog *doges = new Drog[10];//例項化一個物件陣列
delete doge;
delete []doges;
return 0;
}
從堆中例項化一個物件與棧中略有不同,棧中例項化的物件使用完後系統會自動釋放掉物件的記憶體,在堆中例項化系統不會自動釋放,因此程式末尾需手動釋放記憶體。
物件成員的訪問
訪問物件成員就好比是檢視和修改你生成的一隻或多隻狗狗的屬性和技能。從棧和堆中例項化的物件訪問方法不同。
訪問從棧例項化物件的成員
int main(void)
{
Drog doge; //例項化一個物件
Drog doges[10]; //例項化一個物件陣列
doge.age = 2; //訪問成員資料
doge.speak(); //訪問成員函式
doges[5].age = 2; //訪問陣列第六個成員資料
doges[5].speak(); //訪問陣列第六個成員函式
return 0;
}
訪問從堆例項化物件的成員
int main(void)
{
Drog *doge = new Drog(); //例項化一個物件
Drog *doges = new Drog[10];//例項化一個物件陣列
doge->age = 2; //訪問成員資料
doge->speak(); //訪問成員函式
doges[5]->age = 2; //訪問陣列第六個成員資料
doges[5]->speak(); //訪問陣列第六個成員函式
delete doge;
delete []doges;
return 0;
}
相關文章
- c++類和物件C++物件
- C++ 類和物件C++物件
- C++類和物件是什麼?C++類和物件詳解C++物件
- [C++]類和物件(一)C++物件
- [C++]類和物件(二)C++物件
- [C++]類和物件(三)C++物件
- Android NDK開發之旅22 C++ 類 & 物件AndroidC++物件
- C++ 類 & 物件C++物件
- 【C++】C++用new和不用new建立類物件區別C++物件
- [C++之旅] 14 物件成員與物件陣列C++物件陣列
- C++ 類(物件導向初探)C++物件
- Android NDK開發之旅21 C++ 類AndroidC++
- C++物件切片探秘:派生類物件如何被‘切割’?C++物件
- C++ 物件C++物件
- C++物件導向-類和物件那些你不知道的細節原理C++物件
- C++物件導向程式設計 類和物件提高篇 建構函式C++物件程式設計函式
- 關於C++類的定義和物件的建立詳解C++物件
- [C++]繼承和派生類C++繼承
- C++類和異常例子C++
- C++ 常物件和常函式C++物件函式
- C++派生類物件訪問基類的protected成員C++物件
- 【C++ Primer Plus】學習筆記--第10章 物件和類C++筆記物件
- C++ 一些學習筆記(十二)類和物件-多型C++筆記物件多型
- C++ 物件模型C++物件模型
- C++物件模型C++物件模型
- C++父類指標指向子類物件的實現原理C++指標物件
- 【C++系列】指標物件和物件指標的區別C++指標物件
- binder c++ 類C++
- c++ 模板類C++
- c++模板類C++
- C++分類C++
- C++ 物件的使用C++物件
- C++臨時物件C++物件
- C++物件模型:objectC++物件模型Object
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- 【C++】由Polocar 學習 C++物件導向C++物件
- C++的代理類C++
- C++ 類的大小C++