c 課程總結

2021-09-24 16:44:09 字數 1766 閱讀 5658

運算子過載:

運算子過載是一種重新規劃運算子的功能,比如我們建立了乙個類,而類和類相加不能得到我們想要的結果,所以我們需要重新規劃一下運算子的功能。

比如:class a

int x,y;

a a,b;

a.x=1;b.x=1;a.y=2;b.y=2;

a c;

c=a+b;   //無效,因為a與b都是自己創造的類,如果這麼寫是沒有意義的

如果加乙個過載,如:

a::operator+(a c);   //最簡lambda函式

int a=3,b=4;

[=];//省略引數列表和返回型別,推斷返回為int

auto fun1=[&];  //無返回型別

auto fun2=[=,&b](int c)->int;  //完整型

組合和繼承:

組合很簡單,是類上用另乙個類而已,如:

class a

int x;

class b

a y;

b a;

即可進行a.y.x=1;這樣的操作,非常簡單。

繼承:在已有類的基礎上進行拓展,使其成為乙個新類,用繼承方式建立新類時,要指明這個新類是在哪個已有類的基礎上擴充套件的。

例子:class a

int x,y; 

public:

int hs1()

class b::public a

int x,y;

public:

int hs2()

b a;

a.hs1();a.hs2();

這樣在b類中我們就可以進行hs1與hs2的操作,繼承了類a中的功能,我們需要注意繼承方式。

例子中的繼承方式使用的是public,還有protect以及private方式繼承。

public成員:能夠被程式中的任何函式訪問。

private成員:只可以被自己的成員函式和友元訪問。

protected被保護成員:是一種特殊的私有成員,不能被全域性函式或者其他類中的成員函式訪問,但可以被派生類的成員函式和友元函式訪問。

多繼承:

多繼承指的是基類有著多種派生類,派生類與每種基類仍可以看做是單繼承。

若三個類的關係是a<---c, b<---c,則c的記憶體結構就先是a,b。而如果是a,b<--c則c中含有a,b的函式,可以實現a,b功能的介面。

虛函式與多型:

虛函式是一種以virtual關鍵字申明的函式,是一種類的函式,存在虛函式的類當中都有乙個虛表,有乙個指向虛表開始位置的指標叫做虛指標,多型是乙個介面的多種實現,也就是見人說人話見鬼說鬼話,多型要用虛函式來實現,結合動態繫結,純虛函式的虛函式要加=0;抽象類包括至少乙個虛函式。

例子:#include

using namespace std;

class a

};class b:public a

};int main()

主要是看指標指向哪個類,就輸出哪個類的所對應的虛函式或者函式名,這樣就實現了見人說人話見鬼說鬼話。

純虛函式:

class a

;class b: public a

{};純虛函式沒有函式體,那個=0並不是賦值,而是說明這是乙個純虛函式,因為這是乙個說明函式,所以要有分號,純虛函式不具備函式功能,僅有乙個函式名,所以不能被呼叫,如果含有純虛函式的類被呼叫,而派生類依然沒有定義純虛函式,則此純虛函式在派生類中還是純虛函式。

純虛函式的作用是在基類事先為派生類創造乙個函式的名字,可以讓派生類對其定義。如果在基類中沒有保留函式的名字,就無法實現多型性。 

c語言課程總結

這個星期的c語言課程學習結束了,學習c是因為很多語言都具有c的影子,作為前端學習,雖然不是後端,但是對後端語言的學習也是必不可少的,而且前端學習涉及的東西太廣泛,所以,擁有乙個程式設計的思維,和乙個良好的程式設計習慣是必不可少的,c的學習正是對我這方面的鍛鍊和提高,現在我自己總結一下這個星期的學習,...

c 程式設計課程總結

目錄類與物件 1.物件 系統中用於描述客觀事物的乙個實體,系統的基本單位 由一組屬性和一組行為組成。2.類 具有相同屬性和行為的一組物件的集合 3.封裝 把物件的屬性和服務結合承乙個獨立的系統單位,並盡可能隱蔽物件的內部細節 4.繼承 特殊類的物件具有其一般類的全部屬性和行為 5.多型性 特殊類可以...

c 課程總結3(繼承 多型)

一 繼承 繼承主要實現重用 節省開發時間。1 類繼承關係的語法形式 class 派生類名 基類名錶 2 繼承符合的規則 繼承是可傳遞的。如果c從b中派生,b又從a中派生,那麼c不僅繼承了b中宣告的成員,同 樣也繼承了a中的成員。派生類應當是對基類的擴充套件。派生類可以新增新的成員,但不能除去已經繼承...