C++面向物件程式設計學習筆記
- 第一章 緒論
程式設計語言三要素:語法+語義+語用
1)語法:程式的結構或形式
2)語義:程式的含義
3)語用:程式與使用者的含義
繼承和多型:
1)繼承提供了一種明確表示共性的方法,是一個新類從現有的類中派生的過程,繼承機制允許在保持原有類特性的基礎上進行擴充套件,增加功能。新類也稱“派生類”,“子類”,繼承呈現了面向物件程式設計的層次結構。
2)多型是指一棵繼承樹的勒種可以有多個同名但不同實現或不同形參的方法。
- 第二章 從C到C++
c++提供了許多基本的資料型別(int float double char),此外,使用者還可以申明自己的資料型別,如結構體(struct),共用體(union),列舉(enumeration),類(class)
1)結構體
用於標識一種新的資料型別,即結構體型別,是一種複合資料型別
struct employee { string name; long code; float salary; }
定義結構體變數的方法:
①在定義結構體型別的同時,直接給出結構體變數
struct student { char name[10]; int num; }s1,s2,s3;
②無結構體名
struct{ char name[10]; int num; }s1,s2,s3;
③先給出結構體型別的定義,再定義結構體變數
struct student{char name[10]; int num; }; struct student s1,s2,s3;
④還可以通過typedef來簡化定義
typedef struct student{ char name[10]; int num; }STU; STU s1,s2,s3;
指向結構體變數的指標
struct student stu1,*sp; sp=&stu1
共用體(union):很像結構體型別,有自己的成員變數,但是所有的成員變數佔用同一個記憶體空間
struct sA{ int x; float y;}
union uA{ int x; float y;}
sizeof(sA)=8; sizeof(uA)=4;結構體中的每個成員分別佔有獨立的儲存空間,因此結構體變數所佔記憶體位元組數是其成員所佔位元組數的綜合,而共用體變數中的所有成員共享一段公共儲存區,所以共用體變數所佔記憶體位元組數與其成員中站位元組數最多的那個成員相等。
typedef使用最多的是建立易於記憶的型別名
typedef int INT32 型別INT32和型別int完全相同
typedef 和define :#define巨集定義是由預處理完成的,而typedef則是在編譯時完成的。
引數傳遞:用函式呼叫所給出的實參向函式定義給出的形參設定初始值的過程叫做引數傳遞。在C++中呼叫函式是有3中引數傳遞方式:
1)傳值呼叫
2)傳址呼叫
3)引用傳遞