類只是定義了乙個資料型別,不會占用儲存空間。
class 類名
;
成員列表是類成員的集合,所有成員必須在類的內部宣告,一旦類的定義完成後,就沒有其他方式可以增加或減少成員。
如果類具有成員函式,必須進行宣告,可以選擇是否定義,定義在內部或者外部。
在類內部定義函式體
class 類名};
在類外部定義函式體
class 類名
;返回型別 類名 :: 函式名(形參列表)
如果成員函式是定義在類的內部的話,程式呼叫它時會把他當做是乙個內聯函式,呼叫速度快但是占用額外的記憶體空間。
類的建構函式完成了對物件的資料成員的初始化(意思是,類中的成員變數就是物件的了,雖然在類中變數名字相同,但是歸屬於不同的物件,因此值也可以不同),建構函式是一種特殊的成員函式,不需要為人呼叫,而是在物件建立的時候自動被執行。建構函式不能制定返回型別。乙個類可以有多個建構函式,但是每個建構函式的引數的個數和型別不能相同。如果要初始化的是類的成員,那麼必須使用建構函式初始化列表的方法。
class
name
private
:int b;
};
拷貝建構函式,它的作用是用乙個已經生成的物件來初始化另乙個同類的物件。
類名 (
const 類名& obj)
class
test
test (
int x ,
int y):a
(x),
b(y)
test (
const test& t):a
(t.a),b
(t.b)
void
sum();
private
:int a,b;};
void test::
sum(
)int
main()
析構函式
析構函式的名稱和類的名稱相同,只不過是前面加了乙個~,析構函式不會返回任何值,也不能帶有任何引數,他會在每次刪除所建立的物件時執行。如果類中有需要動態開闢記憶體的成員,而在程式結束之後需要釋放記憶體,這時需要將釋放記憶體的語句寫在析構函式中,系統在程式執行結束後會自動執行析構函式,進行記憶體的釋放以及物件的銷毀。
c++中提供了友元機制,允許乙個類將其非公有成員的訪問許可權授予指定的函式或類。友元的宣告只能定義在類的內部。
形式:
friend 返回值型別 被賦予許可權的類名::函式名(引數型別 引數名)
#include
#include
using
namespace std;
classb;
//類的前向宣告
classa~
a()//析構函式
void
print
(b& a);}
;class
bprivate
:int x;
friend
void a::
print
(b& a)
;//為a賦予該成員函式的訪問許可權};
void a::
print
(b& a)
intmain()
繼承允許在原有類的基礎上建立新的類,c++有三種繼承方式
public(公有繼承),基類中的公有和保護成員保持原屬性,私有成員為基類私有。
private(私有繼承),基類中的所有成員在派生類中都是私有的。
protected(保護繼承),基類的公有成員和保護成員在派生類中成了保護成員,私有成員仍為基類私有。
基類的私有成員不會被派生類訪問的,下面通過getlength()等函式使用私有成員的值。
繼承形式:
class 派生類:繼承方式 基類
派生類的設計
#include
using
namespace std;
class
parallelogram
intgetlength()
intgetwidth()
private
:int length,width;};
class
rectangle
:public parallelogram //公有繼承
//先對基類中的資料成員進行初始化
void
area()
//計算面積};
intmain()
多繼承:
class 派生類名 : 繼承形式 基類名1
, 繼承形式 基類名2,.
...
c++中的虛函式的作用主要是實現了多型的機制。就是用父型別別的指標指向其子類的例項,然後通過父類的指標呼叫實際子類的成員函式,c++允許使用者使用虛函式來完成執行時決議這一操作。虛函式的實現是有兩個部分組成:虛函式表和虛函式指標。
虛函式實現了同乙個呼叫形式,既能呼叫派生類又能呼叫基類的同名函式,在程式中不是通過不同的物件名去呼叫不同派生層次中的同名函式,而是通過指標呼叫它們。例如可以通過同乙個語句 p->play()可以呼叫不同派生層次的play函式,只需要在呼叫前給指標變數p賦予不同的值即可。
classa}
;classb:
public a};
classc:
public a};
intmain()
//b c
這樣使用a-1、虛函式表
虛函式表v-table主要是乙個類的虛函式的位址表,這張表解決了繼承、覆蓋的問題。在有虛函式的類的例項中這個表就被分配在了這個例項的記憶體中,所以,當用父類的指標來操作乙個子類的時候,這個表就指明了實際所應該呼叫的函式。
c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...
C 物件導向
它定義了類的物件包括了什麼屬性,以及可以執行哪些操作 呼叫函式 class box 關鍵字 public 確定了類成員的訪問屬性.在類物件作用域內,類的外部是可訪問的 也可以指定類的成員為 private 或 protected box box1 宣告物件 box1,型別為 box box box2...
c 物件導向
0,類變數的申明可以不賦初始值 int 型別的為0,引用型別預設值為null,bool型別為false 1.物件導向的三大特點 封裝 0增加安全 1 良好的封裝能夠減少耦合 2 類內部的實現可以自由地修改 3 類具有清晰的對外介面 繼承 子類是乙個物件,父類的成員只是子類的引用 在繼承時子類的訪問修...