原创 C++ 引用

C++ 引用 引用在定義時必須初始化,且之後不能更改 int a = 3; int & b = a; b爲引用類型 b相當於a的一個別名 可以通過b修改a的值 b = 2; output: a = b = 2 當用 const 修飾

原创 C++ 友元

C++ 友元 友元分爲友元函數和友元類 友元函數 一個類的友元函數可以訪問該類的私有成員 聲明方法: 在該類中用friend關鍵字對函數進行聲明 例如: 聲明兩個car的友元函數,一個爲類外部的函數,一個爲driver類內部的函數 cla

原创 C++ 運算符重載

C++ 運算符重載 基本模式 [返回值類型] operator [需要重載的符號](參數1,參數2,..) 1.作爲成員函數重載 // class public: BigInt operator+(const BigInt &nu

原创 C++ 內聯函數

C++ 內聯函數 將函數體代碼直接插入到調用位置 好處:提高程序運行效率 壞處:增大了程序大小 intline int max(int a,int b) { if(a > b) return a; return b; }

原创 C++ 動態內存分配

C++ 動態內存分配 new 關鍵字 用 new 可以動態分配一片制定大小的空間給一個指針 new T 返回空間首地址 new 一個變量 int * a = new int; *a = 3; new 一個數組 int *b =

原创 C++ 析構函數

C++ 析構函數 析構函數是爲了配合delete使用 用於刪除new出來的對象的內存空間 定義方法: class test { ~test() { delete something } } 名字與

原创 C++ 類 構造函數

C++ 類 構造函數 C 類 構造函數 初始化構造函數 複製構造函數 類型轉換構造函數 初始化構造函數 複製構造函數 類型轉換構造函數 初始化構造函數 作用:初始化 可以重載 可以有缺省 沒有定義,調用無參默認構造函數

原创 C++ 常量對象,成員函數,引用

C++ 常量對象,成員函數,引用 如果不希望某個對象的值被改變,則可以在定義的時候加const 也可以定義常量成員函數,使得該函數不能修改其所作用的對象的值 常引用類似 定義方法: const Car a; // 常量對象 vo

原创 C++ const關鍵字

C++ const關鍵字 1.常量定義 建議使用const進行常量定義 const int maxn = 23; const char a = 'a'; cont char* name = "jack"; 2.定義常量指針 常量指針不可

原创 篩法求素數

篩法求素數 假設要求n以內的素數 篩法求素數是用一個大小爲n的數組,作爲標記數組,如果沒被標記到則爲素數。 開始均爲未標記。 從2開始,2沒被標記,將2存入一個存素數的地方,然後篩掉小於n的,2的所有倍數。然後是3,篩掉3的所有倍數,

原创 C++ 成員對象

C++ 成員對象 一個類中也可以有其他類的對象,這個對象稱爲這個類的成員對象 含有成員對象的類叫做封閉類 初始化 初始化要特別注意 初始化列表: 類名::構造函數(參數表):成員變量1(參數表),成員變量2(參數表),... {

原创 C++ 函數缺省參數

C++ 函數缺省參數 C++中,定義函數的時候可以讓最右邊的連續若干個參數有缺省值。如果調用的時候沒寫,就默認爲那些值。 void func(int x1, int x2 = 2, int x3 = 3) {} func(10); fun

原创 C++ this指針

C++ this指針 this 指針指向成員函數所作用的對象 在靜態成員函數中不能用this指針

原创 C++ 文件操作

C++ 文件操作 打開文件 直接創建ofstream(ifstream)對象 ofstream outFile("文件名", ios::參數1|ios::參數2); 文件名,可以使用絕對路徑或相對路徑 *參數一:指示如何存取文件,可

原创 C++ 函數重載

C++ 函數重載 函數名字相同,參數不同,叫做重載 編譯器根據實際情況,選擇對應函數 好處:使得函數命名變得簡單 int max(int a1, int a2) {} double max(double a1, double a2) {}