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 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...