例解const之一

2021-05-24 12:54:51 字數 1132 閱讀 7878

1. const類例項不能呼叫非const的成員函式,編譯器出錯。

#include

#include

using namespace std;

class student

int get_id()

private:

int m_id;

string m_name;

};int main()

[root@cnc_bj_010_235 ***]# g++ test_const.cpp -o test_const

test_const.cpp: in function 『int main()』:

test_const.cpp:29: error: passing 『const student』 as 『this』 argument of 『int student::get_id()』 discards qualifiers

2. 非const類例項可以呼叫const的類成員函式。

#include

#include

using namespace std;

class student

int get_id() const

private:

int m_id;

string m_name;

};int main()

[root@cnc_bj_010_235 ***]# ./test_const

stu1's id:1

stu2's id:2

3. const會導致類成員函式過載。

#include

#include

using namespace std;

class student

int get_id() const

int get_id()

private:

int m_id;

string m_name;

};int main()

[root@cnc_bj_010_235 ***]# ./test_const

stu1's id:-1

stu2's id:2

例解GNU C之typeof 一)

前言 計算機語言是編譯器和程式設計師交流的依據和規範,gnu c是gcc特有的功能,在linux核心中被廣泛應用。幫助文件 關鍵字typeof用於獲取表示式的資料型別。簡單例子,如清單1 cpp view plain copy char chptr01 typeof chptr01 ch 等價於ch...

設計模式之一單例模式

單例模式就是類別只有乙個例項,每次在必得類呼叫這個類的例項,都是同乙個例項。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。如印表機 顯示卡等等這些系統資源。如果做andr...

設計模式之一 單例模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項。定義乙個單例類,使用類的私有指標變數指向類的唯一例項,並且使用乙個共有的靜態方法獲取該例項。懶漢模式 即第一次呼叫該類的例項的時候才產生乙個新的該...