類和物件基礎知識

2021-08-03 07:12:29 字數 987 閱讀 5357

1.類和物件的基礎知識

定義:類就可以看做是對相似事物的抽象

訪問限定符:public,private,protect

封裝性:

1)良好的封裝能夠減少耦合。

2)類內部的結構可以自由修改。

3)可以對成員進行更精確的控制。

4)隱藏實現細節

物件大小計算:只計算非靜態成員變數(公有私有都算), 不算函式,和static變數,有記憶體對齊,空間換時間

2.四個預設成員函式,運算子過載

1)建構函式:初始化物件

無返回值

與類同名

例項化時自動呼叫

可過載只要定義了建構函式,系統不會預設生成

無參建構函式,全預設建構函式,都叫預設建構函式

預設建構函式只能有乙個,可以半預設

可在類外定義

2)拷貝建構函式:特殊的建構函式

拷貝構造是建構函式的過載

自己寫拷貝構造時候引數要傳引用,否則無窮遞迴

3)析構函式:清理工作

物件生命週期結束時自動呼叫

類名前面加~

不刪除物件,而是做一些清理工作,關閉檔案,釋放動態開闢等

4)賦值運算子的過載

兩個物件都存在時才會有賦值運算子過載

d1和d2兩個日期類都存在,d1=d2是賦值運算子過載

date d2 = d1;這是拷貝構造,因為d2不是已經存在的

運算子過載

不能過載的5個運算子:  .*   ::   sz   ?:   .

3.隱含的this指標

非靜態成員函式第乙個引數都是this指標

public:  void display(date *this)

cout<_year;

main:   date d1; d1.display(&d1);

4.運算子過載背後做的事情

兩個日期類 d1 == d2

編譯器會處理成 d1.operator==(&d1,d2);

C 基礎知識(類和物件)

現實世界中,將事物的屬性和行為表示出來,就可以抽象出這個事物。定義乙個結構體用來表示乙個物件所包含的屬性,函式用來表示乙個物件所具有的行為,這樣就可以表示乙個事物。在c中,行為和屬性是分開的。屬性和行為應該放在一起,一起表示乙個具有屬性和行為的物件。封裝提供一種機制能夠給屬性和行為的訪問控制權。所以...

Ruby基礎知識 6 類和物件

一 類定義 class account attr accessor number count 0 def initialize number,name,balance number number name name balance balance count count 1 end def acco...

C 複習 類和物件的基礎知識

類構成了實現c 物件導向程式設計的基礎。類是c 封裝的基本單元,它把資料和函式封裝在一起。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式 隱含的this指標 類的訪問限定符 private 私有 protected 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...