在c++中,結構體不僅可以定義變數時也可以定義函式。
同樣的結構體c++中,將會用class代替struct;
class student
;
類的兩中定義方式:
1.宣告和定義都在類體中
class student
private:
int _age;
char _name[20];
char _gender[3];
};
2.宣告放在.h檔案中,定義放在.cpp檔案中
三個限定符:public(公有),private(私有),protected(保護)
【訪問限定符說明】
(1) public成員在類外可以直接訪問;
(2)protected和private成員在類外(在此可將protected和private理解成private)不能夠訪問
(3)它們的作用域從該訪問限定符出現的位置開始直到下乙個訪問限定符出現時為止
(4) class的體中如何沒有定義限定符,則預設訪問許可權是private 5. struct為public型(因為struct要相容c)
1.類定義了乙個新的作用域,類的所有成員都必須處在類的作用域中。
2.在類體外定義成員,需要使用 :: 作用域解析符指明成員屬於哪個類域。
3.在類的作用域外,只能夠通過物件(或指標)借助成員訪問操作符.和->來訪問類成員
4.類中的成員在類中具有全域性性。
namespace n1
int a = 20;
class test
void print()
private:
int _a; //成員變數在類中具有全域性作用
};域int main()
用類型別建立物件的過程,就是類的例項化。
**舉例子:
class student
void print()
public:
int _age;
char *_name;
char *_gender;
};void test()
1.類中有變數也有函式,那麼如何表示出乙個類的大小呢?
看**:
根據**顯示的內容
類的大小其實就是類中成員函式之和,需要記憶體對齊。
空類的大小為1.1.
2.類物件的儲存模型
我們先寫乙個日期類:
class date
void print()
private:
int _year;
int _month;
int _day;
};int main()
1. 每個成員函式都有乙個指標形參,它的名字是固定的,稱為this指標,this指標是隱式的。
2. 編譯器會對成員函式進行處理,在物件呼叫成員函式時,物件位址作實參傳遞給成員函式的第乙個形參this指 針。
3. this指標是成員函式隱含指標形參,是編譯器自己處理的,我們不能在成員函式的形參中新增this指標的引數 定義,也不能在呼叫時 顯示傳遞物件的位址給this指標。
C 基礎之初識類與物件
在了解類與物件之前,我們首先來看幾個概念 什麼是類,什麼是物件,類與物件的關係是怎樣的,怎麼定義類,怎麼建立乙個物件 現實中的一切事物皆為為物件,抽象是對具體問題進行概括,抽取公共特效並加以描述的過程。抽象的過程就是對問題進行分析和認識的過程。抽象一般從兩個方面進行 以手機為例 1.資料抽象 共同的...
C 初識類和物件
在c語言中,結構體中只能定義變數,在c 中,結構體不僅可以定義變數,還可以定義函式。例如 struct student 這樣的結構體,在c 中常用class來代替。即類。類的定義 class classname 例 在定義類的時候,一般將成員函式的定義和類定義分開,跨檔案定義。即類外定義成員函式,類...
物件導向之初識類與物件
在一片蒼茫的草地上生活著一群無憂無慮的小豬,他們有著粉粉嫩嫩或者黑不溜秋的 圓圓的鼻孔 大大的耳朵,非常惹人喜愛。定睛一看,有的豬正在舒適的窩裡睡覺,有的正在夕陽下奔跑 國產的豬就是勤快 有的正為豬生大事而在談戀愛。那麼問題來了,這跟類和物件有什麼關係呢?對,你可能猜到了,我們將這群小豬抽象成為豬類...