#include //for sqrt
#include //for strlen
#include//用到setw()和setprecision()
break; 退出迴圈,不再執行該迴圈
continue;退出此次迴圈,執行下次迴圈
//建構函式是成員函式,符合類中成員函式設計規則
#include
using
namespace std;
class
desk
;//----------------------------------
class
stool
private
:int high, width, length;};
//----------------------------------
desk::
desk()
//------------------------------------
intmain()
//析構函式名為波浪號加類名,無引數,無返回型別,作用一般是釋放物件建立之初所占用的資源,改寫上述**如下
#include
#include
using
namespace std;
class
a//建構函式~a
()//析構函式無引數,在物件結束生命期之際由系統自動呼叫
void
input()
void
proc()
void
print()
};voidf(
)//物件a在此處消滅,自動呼叫析構函式~a(),達到資源釋放的目的
intmain()
//輸入 8 5 3 7 2
//輸出 2 3 5 7 8
//c++成員函式可過載,建構函式同樣也可過載
#include
using
namespace std;
class
tdate
;tdate::
tdate()
tdate::
tdate
(int d)
tdate::
tdate
(int m,
int d)
tdate::
tdate
(int m,
int d,
int y)
intmain()
//程式中,類內是乙個世界,類外是乙個世界
//類內資料由成員函式來設定和修改,不允許類外直接修改資料成員(private),保護類內世界的清靜,資料錯誤由成員函式擔責
//類外是呼叫該類成員函式的應用程式,無須也不允許關心類的細節
class
student
float
grade()
//獲取平均成績
inthours()
//獲取學時};
intmain()
//批量訪問結構變數用到結構陣列
//若結構體大,則結構陣列排序,最好用結構指標陣列
#include
using
namespace std;
struct persona[6]
=,,,
,,};
intmain()
;//指標陣列
for(
int i=
1; i<
6; i++
)for
(int j=
0; j<=
5-i; j++)if
(pa[j]
->salary > pa[j+1]
->salary)
for(
int k=
0; k<
6; k++
)//通過結構指標,輸出結構陣列
cout<
->name<<
" "<
->id<<
" "<
->salary<
}
//結構體屬於自定義資料型別
//凡型別實體都可以作為函式引數傳遞
//為提高效率,最好用結構的引用傳遞函式引數
#include
using
namespace std;
struct person
;void
print
(person& pr)
person allone[4]
=,,,
};intmain()
//可將函式計算結果存於結構實體中,實現多值返回
#include
using
namespace std;
struct person
;person getperson()
void
print
(person& p)
intmain()
//傳遞結構引用引數同樣可以實現計算結果的多值返回
//建立鍊錶與遍歷鍊錶
//建立鍊錶方式多樣(此舉一例),遍歷鍊錶總是從鏈首開始
#include
using
namespace std;
struct student
*head =
null
;//全域性鏈首指標指向空
void
create()
pend-
>next =
null
;//鏈尾結點指向空,表示鏈尾
}void
showlist()
intmain()
//刪除鍊錶結點
//給出要刪除的結點值,先要定位結點,故刪除伴隨查詢
//假定全域性鏈首指標student* head;
void
remove
(int num)
student* h = head;
if(head-
>number==num)
for(student* ph=h-
>next;
!ph; h=ph, ph=ph-
>next)
if(ph-
>number==num)
}
//插入鍊錶結點
//若給出插入位置(用結點指標表示)則插入表示為
void
insert
(int num, student* pos)
建立鍊錶的過程可看作不斷在鏈首插入結點的過程,也可看作不斷在鏈尾插入結點的過程
C 學習筆記 建構函式
在建立某個類的物件時,由於對該物件的狀態 資料 不很明確,因此需要對其進行初始化。例如,我們要在長方形中建立乙個物件,或者說新建乙個長方形,那麼我們首先要確定它的長和寬,假如我們無法確定它的長和寬,那麼我們是無法構造出乙個長方形來的。例如,我們要構造乙個長方形,由於建構函式要在建立新物件時使用,因此...
C 學習筆記 建構函式與析構函式
1 建構函式 建構函式是類的一種特殊的成員函式 1 函式名與類名必須相同 2 沒有返回值 3 建構函式可以被過載 class circle circle int x,int y,int r 建構函式和普通成員函式不一樣,一般不顯示呼叫,在建立乙個物件時,建構函式被自動呼叫。建構函式的作用 物件一 出...
C 學習筆記 建構函式與析構函式
一 派生類建構函式的執行順序 1 呼叫基類建構函式,呼叫順序按照它們被繼承時宣告的基類名順序執行 2 呼叫內嵌物件建構函式,呼叫順序按各個物件在派生類內宣告的順序 3 執行派生類建構函式體中的內容 二 派生類析構函式的執行順序與建構函式相反 1 執行派生類析構函式 2 執行內嵌物件的析構函式 3 執...