極客班第一周學習筆記

初識C++

C++是在C之上基于對象,面向對象的編程語言。c++相比c在編程上更加模塊化,具象化。

C++代碼規(guī)范


●防衛(wèi)試聲明:

? ? ? ? ? ? ? ? ? ? #ifndef "name"

? ? ? ? ? ? ? ? ? ? #define"name"

? ? ? ? ? ? ? ? ? ? #endif

?

為了避免重復的定義和聲明有必要使用防衛(wèi)聲明


●頭文件:


標準的c++頭文件 沒有.h

#include<iostream>

#include<cmath>


前置聲明:先聲明存在命名為complex的class,編譯器才不會報錯

●class的聲明


藍色字體complex是類的名字,括號中的是本體。

public:可以被該類中的函數、子類的函數、其友元函數、該類的對象訪問。

private:只能由該類中的函數、其友元函數訪問。不能被該類的對象訪問。PS:數據部分最好放在私有

protected:可以被該類中的函數、子類的函數、其友元函數訪問,不能被該類的對象訪問。

Friend:可以訪問類內private和protected成員

構造函數:命名與類名相同,沒有返回值。主要作用于創(chuàng)建對象,初始化。re(r) == (re=r):類型名加括號表示創(chuàng)建臨時對象,這是構造函數的一種語法,這樣寫表示受過良好訓練。構造函數可以有很多個(重載)。

class模板如圖:

template<typename T>表示還未確定數據類型,用T表示



inline函數:在類中定義的函數成為inline函數,如real() image(),在類外你也可以寫inline,具體如何處理由編譯器決定。

const函數:表示不會修改類內數據,如果成員函數不加const,調用對象再加const就會報錯。


●參數傳遞


引用概念:

引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣。

引用的聲明方法:類型標識符 &引用名=目標變量名;

例:int a; int &ra=a; //定義引用ra,它是變量a的引用,即別名


此處參數為引用,4字節(jié)傳遞更快,且比指針看起來舒服


●返回值傳遞

使用引用傳遞,傳遞者無需知道接收者是以引用形式接收。C++也可以使用指針傳遞,但是接收者需要明確傳過來的東西是一個指針,這明顯沒有引用方便。


返回值的傳遞也有值傳遞和引用傳遞之分,使用引用返回必須保證返回的不是局部變量,在函數外已經存在,或者是動態(tài)內存分配出來的空間,或者是在函數內部創(chuàng)建的static變量這些分配的空間的生命周期如果大于該函數,就可以使用引用傳遞。


●操作符重載

操作符重載關鍵字:operator


灰色部分:編譯器處理的時候有隱藏的THIS,表示調用的左值C2,但是實際些代碼的時候不能手動填寫會報錯。而非成員函數參數要寫全


此處返回值不應是引用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容