C 基本知識整理(2)

2021-09-30 14:25:36 字數 1199 閱讀 2720

1、建構函式

c++中定義了一種特殊的初始化函式,稱為建構函式;當物件被呼叫時,建構函式自動呼叫;建構函式名字與類名相同,也沒有返回型別和返回值;物件在生成過程中通常需要初始化變數分配動態記憶體,用建構函式。

程式中可以沒有建構函式,這時會執行乙個空的建構函式。

下面來看建構函式例項:

#include 

using

namespace

std;

class stu;

stu::stu() /*這個建構函式只是將變數初始化,並沒有進行其他操作*/

/*構造函式引數列表*/

stu::stu(const

char *name, int age, float score):m_name(name), m_age(age), m_score(score){}

void stu::show()

2、析構函式析構函式,是在物件被刪除前由系統自動執行它作清理工作。

下面來看析構函式例項:

#include 

using

namespace

std;

class carea;

carea::carea(int a, int b) /*建構函式中對變數初始化及為指標變數分配空間*/

再來看下一例:

從結果中可以看出,建構函式的執行是按順序執行的,而析構函式順序剛好相反,析構函式總是在最後被呼叫,完成清理工作。

C 基本知識整理

1.全域性靜態變數 記憶體中位置 靜態儲存區,且程式執行期間一直存在。未經初始化的全域性靜態變數自動初始化為0。全域性靜態變數在宣告檔案之外是不可見的。2.區域性靜態變數 記憶體中位置 靜態儲存區。未初始化自動初始化為0。作用域為區域性作用域,但離開作用域後不會銷毀,仍然駐留在記憶體中,再次訪問時值...

C 基本知識整理(1)

在c 程式設計中using namespace std 這條語句很常見,其中,namespace就是命名空間,而using是宣告,std是命名空間名。命名空間就是為了解決c 中函式變數的命名衝突所採取的一種措施,能夠解決多模組協同開發出現變數函式命名的衝突問題。1 using宣告及作用域 using...

C 基本知識2

const在c c 中的作用 如果有乙個類成員,它本身是乙個類或者是乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設建構函式。這時要對這個類成員進行初始化,就必須呼叫這個類成員的帶引數的建構函式,如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。類成員中若有const修飾,必須在物件初...