[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++之旅] 14 物件成員與物件陣列C++物件陣列
- C++ 類(物件導向初探)C++物件
- C++物件切片探秘:派生類物件如何被‘切割’?C++物件
- C++ 物件C++物件
- C++物件導向-類和物件那些你不知道的細節原理C++物件
- 關於C++類的定義和物件的建立詳解C++物件
- 【C++ Primer Plus】學習筆記--第10章 物件和類C++筆記物件
- C++ 常物件和常函式C++物件函式
- C++ 一些學習筆記(十二)類和物件-多型C++筆記物件多型
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- C++物件模型:objectC++物件模型Object
- C++物件模型:constructorC++物件模型Struct
- C++分類C++
- 【C++系列】指標物件和物件指標的區別C++指標物件
- c++中的物件模型C++物件模型
- C++ 物件導向 一C++物件
- C++ | 類繼承C++繼承
- C++ 類的大小C++
- C++的代理類C++
- c++函式模板和類别範本C++函式
- <<從0到1學C++>> 第1篇 認識C++的函式和物件C++函式物件
- c++內建函式物件C++函式物件
- C++物件模型:編譯分析C++物件模型編譯
- 深度解讀《深度探索C++物件模型》之C++物件的記憶體佈局C++物件模型記憶體
- C++ 抽象類快速使用C++抽象
- C++中的容器類C++
- C++:建構函式的分類和呼叫C++函式
- 關於C++中物件與類的詳解及其作用詳解C++物件
- 【C++】 C++異常捕捉和處理C++
- C++特點,物件的概念,初始化和賦值C++物件賦值
- 物件導向程式設計C++物件程式設計C++
- 120 C++中的物件指標C++物件指標
- C++物件導向三大特性C++物件
- 1-7 C++指標C++指標