一些C 筆記

2021-07-25 07:41:34 字數 1735 閱讀 9645

/*this指標

*//*

類的繼承

基類(父類),子類

如果基類和子類都有構造器,則基類的構造器會先被呼叫。

*/class animal

class pig:public animal

animal::animal(std::string thename)

pig::pig(std::string thename):animal(thename)

/*訪問控制

某個物件試圖呼叫它無權訪問的函式時,編譯器會報錯。

c++中的訪問級別:

public:任何**可訪問

protected:這個類本身和它的子類可以訪問

private:只有這個類本身可以訪問

建議在編寫類時從public可是,然後從protected開始,最後是private

class pig:public animal是告訴編譯器繼承的方法和屬性的訪問級別不發生任何改變

即public仍可以被所有**訪問,protected只能由基類和子類訪問,private只能由基類本身訪問。

class pig:protected animal是告訴編譯器繼承的方法和屬性的public級別改為protected,其他訪問級別不發生任何改變

即public和protected都變為protected,只能由基類和子類訪問;private只能由基類本身訪問。

class pig:private animal是告訴編譯器繼承的方法和屬性的訪問級別全都變為private

即public、protected和private都只能由基類本身訪問。

*//*

覆蓋

子類可以覆蓋基類的方法。

具體做法是在子類中重新定義方法。

*///父類

class animal

//子類

class pig:public animal

//基類中關於eat()方法的定義

void animal::eat()

//子類中關於eat()方法

void pig::eat()

/*過載

過載機制允許定義多個同名的方法(函式),只是它們的輸入引數必須不同(因為這時編譯器是依靠不同的輸入引數來區分不同的方法)

過載可提高**可讀性

*//*

在堆中建立動態物件

new分配記憶體

delete刪除記憶體

每乙個new都要有乙個delete,要不會造成記憶體洩漏

*//*

標頭檔案標頭檔案一般提供必要的函式宣告和類宣告,用#include可以將標頭檔案包含進來。

在include時可以用/加上包含檔案的路徑

*//*

命名空間

如果沒有定義***,則定義***;如果定義過了,就結束(endif)。

這樣可以避免乙個檔案被包含(include)多次。

有些標頭檔案重複引用只是增加了編譯工作的工作量,使得效率低一些。但有些標頭檔案被重複包含會引起錯誤。

*/1. 對於定義了訊號和槽的類,在類定義開始處必須有q_object巨集(《c++ gui qt4程式設計(第二版)》 p11)。

2. 對於定義屬性的類,q_object巨集是必須的。(《c++ gui qt4 程式設計(第二版)p83》)。

*/

C 的一些筆記

發現一些小的知識點長期不用都得忘,決定再次遇到了一定要記錄一下。任何不會修改資料成員的函式都應該宣告為const型別。如果在編寫const成員函式時,不慎修改了資料成員,或者呼叫了其它非const成員函式,編譯器將指出錯誤,這無疑會提高程式的健壯性。在建構函式前加explicit關鍵字禁止物件作隱式...

C知識( 一些筆記)

c 的學習,是配合unity3d而一起學習的,接下來將記錄一些學習過程中的心得體會,以及一些筆記。c 是微軟建立的物件導向的,簡潔安全的程式語言。以c c 為語言基礎,開發的環境是visual studio,最新版本是c 4.0 c 必須在net.framework上執行,其包括公共語言執行庫,ne...

c 引用的一些筆記

include using namespace std 引用與指標的區別 1.引用在宣告的時候就要初始化,指標不用 2.引用初始化之後,就不能指向其他空間了,指標可以指向其他空間 3.引用不佔儲存空間,指標佔空間 4.引用更安全,指標可以偏移 5.指標更靈活,直接操作位址,指標更通用,c和c 都能使...