C 類與物件初了解

2021-09-27 08:39:03 字數 1215 閱讀 8426

在c++中,類的概念類似於結構體,但比結構體內可以定義變數,也可以定義函式。

class classname ;//注意;
class date 

};

//.**件宣告

class date ;

//.cpp檔案定義

#include"person.h"

void date:: show()

物件導向的三大特性封裝,繼承,多型

封裝:將資料和運算元據的方法進行有機結合,隱藏物件的屬性和實現細節,僅對外公開介面來和物件進行互動。

c++實現封裝的方式:用類將物件的屬性與方法結合在一起,讓物件更加完善,通過訪問許可權限定符將其介面提供給外部的使用者使用。

訪問限定符

類的所有成員都在類的作用域中,在類外定義成員,需要使用::作用域解析符來指明成員所屬類。

注意:只有public修飾的成員可以在類外被訪問。

class person ;

void person::print()

用類建立物件的的過程就是類的例項化

類物件的大小

c++編譯器給每個成員函式增加了乙個隱藏的指標引數,讓該指標指向當前物件,在函式體呼叫成員變數的操作,即為呼叫當前物件的成員變數。對於使用者是透明的,不需要做任何操作

#includeusing namespace std;

class date

private:

int _year;

int _mouth;

int _day;

}int main()

this指標特性

思考題:this指標可以為空嗎?

可以,不過得分情況。

- 當呼叫的成員函式不呼叫成員變數時正常執行。

- 當呼叫的成員函式呼叫成員變數時編譯器崩潰。

作業2 類與物件(初)

1 include 2 include 3 include 4 include 5 include 6 include 7 using namespace std 8 實現乙個學生資訊處理程式,計算乙個學生的四年平均成績。910 要求實現乙個代表學生的類,並且類中所有成員變數都是 私有的 1112 ...

C 模板初了解

泛型程式設計顧名思義 可以通泛的使用,比如我們要使用乙個add加法函式,void add int a,int b void add double a,double b void add float a,float b 那我們可以通過函式過載來實現,但是函式過載有不好的地方,那就是 1 過載的函式只是...

string類的初了解(一)

首先,了解一下在c語言中字串有什麼缺點?c語言中,字串是以 0 結尾的一些字元的集合,為了操作方便,c標準庫中提供了一些相關的庫函式,但是這些庫函式與字串是分離開的,不太符合oop的思想,而且底層空間需要使用者自己管理,存在越界訪問的隱患。string類中提供的常用介面說明 函式名稱 string ...