C 學習筆記 一

2022-03-28 19:38:10 字數 2180 閱讀 6238

封裝性

封裝的目標:實現軟體部件的「高內聚、低耦合」,防止程式相互依賴而帶來的變動影響。

封裝的思路:物件導向的封裝就是把描述乙個物件的屬性和行為的**封裝在乙個「模組」中,也就是乙個類中,屬性對應於變數,行為對應於方法,方法可以直接訪問同乙個物件中的屬性。

繼承性繼承的本質:繼承是兩個類之間的關係。如果乙個類a繼承自另乙個類b,就把這個a稱為"b的子類",而把b稱為"a的父類"。乙個類繼承另乙個類是說這個類屬於另乙個類,具有另乙個類的所有屬性和方法,同時它還可以有另乙個類不具備的方法和屬性。

繼承的好處:提高了軟體的可重用性和可擴充套件性。

繼承的功能:繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的**。在令子類繼承父類的同時,可以重新定義某些屬性,並重寫某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。

單繼承與多繼承:c++中,乙個派生類可以從乙個基類產生(單繼承),也可以由多個基類產生(多繼承)。

單繼承的書寫格式:class 派生類的名字:繼承方式 基類的名字

多繼承的書寫格式:class 派生類名:繼承方式1 基類名1,繼承方式2 基類名2,…

繼承方式有三種,分別為public繼承,protect繼承,private繼承。

tips:

參考:多型:多種形態

多型的實現:實現角度講多型可分為兩類:編譯時的多型和執行時的多型。

編譯時:編譯過程中確定了同名操作的具體操作物件。靜態繫結。

執行時:程式執行時動態確定操作針對的具體物件。動態繫結。

多型性的幾種定義

1在c++程式設計中,多型性是指用乙個名字定義不同的函式,這些函式執行不同但又類似的操作,這樣就可以用同乙個函式名呼叫不同內容的函式。換言之,可以用同樣的介面訪問功能不同的函式,從而實現「乙個介面,多種方法」。

2多型是建立在繼承的基礎上的,乙個父類物件可以產生多個不同的子類物件,根據這些子類物件的不同可以具備不同的方法,也就是說表現出了不同的形態即多型。

3多型是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期間才確定,即乙個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。

因為在程式執行時才確定具體的類,這樣,不用修改源程式**,就可以讓引用變數繫結到各種不同的類實現上,從而導致該引用呼叫的具體方法隨之改變,即不修改程式**就可以改變程式執行時所繫結的具體**,讓程式可以選擇多個執行狀態,這就是多型性。多型性增強了軟體的靈活性和擴充套件性。

例項:

#include using namespace std; 

int main()

這個程式可以輸出「hello world」,一些說明如下:

相關知識:cin.get()函式可以用來讀入乙個字元。

用法如下:

ch=cin.get();和cin.get();的作用相同,都是讀入乙個字元存入ch

cin >> 與 cin.get 混合使用可能產生問題。

參考:typedef可以用來給乙個已有的型別起乙個新的名字。

例如typedef double two;就是給double型別也可被稱為two。

所以two a;就是double a;

當乙個變數有幾種可能的取值時,可以將它定義為列舉型別。

列舉型別的關鍵字:enum

格式:enum 型別名

例如:enum color ;

提示:列舉常量代表該列舉型別的變數可能取的值,編譯系統為每個列舉常量指定乙個整數值。預設為0,1,2,3...

可以在定義列舉型別時為部分或全部列舉常量指定整數值,指定值之前的按預設方法取值,指定值之後,依次+1。

注意:列舉常量只能以識別符號形式表示,而不能是整型、字元型等文字常量。

c 學習筆記一

2007 9 4 引用,該型別的變數不直接儲存所包含的值,而是指向它所要儲存的值。c 的引用型別有四種 類 代表 陣列 介面。一下 表示類b從類 a中繼承 class a class b a 類的成員有以下型別 成員常量,代表與類相關聯的常量值。域,即類中的變數。成員方法,複雜執行類中的計算和其它操...

C 學習筆記 一

c 學習筆記 一 by heiyeluren 學習 visual c 入門經典 的個人筆記。1.函式的過載 函式過載提供了建立多個同名函式的能力。我們確定乙個函式是獨一無二的方法是通過三項方法,分別是是通過返回值的型別,函式名,函式 引數等三項內容。我們函式過載主要就是使用不同的引數來確定使用那個函...

C 學習筆記一

c中的記憶體分配方式 1.靜態儲存區域 在程式開始之前就可以分配,且在程式執行過程中始終存在 2.棧 儲存單元在其上分配,單元外自動釋放,多見內建 資料型別於此 3.堆 動態分配,即程式執行時分配此部分記憶體.由使用者分配且要負責釋放.生存期由使用者決定,不受範圍限制 stdlib.h提供mallo...