原创 常量函數成員奈我何

寫在前面 在C++中的常量函數中我們知道,常量函數會禁止寫入和修改外部數據,舉個例子: class CC{ int me; public: int readme const { return me; }// 常量成

原创 生存期與作用域

這兩個概念乍看很容易混淆,其實並沒有那麼難以理解和區分。 以變量int a;爲例子: 生存期偏向於時間,指的是變量a從被說明和創建開始,直至變量a失效,其佔用的空間爲釋放爲止; 作用域偏向於範圍,指的是變量名a可以代表該變量的範圍

原创 C++處理char*字符串的標準函數

首先 #include <string.h> 1. 求字符串長度(len=length) unsigned strlen(const char *str); 返回字符串str的長度 2. 字符串複製(cpy=copy) char*

原创 C++類的三種數據成員:常量(const)、靜態(static)、普通 的賦值方式

C++類有三種數據成員,由聲明數據成員時修飾數據成員的關鍵字決定:static就是靜態數據成員,const就是常量數據成員,既沒有static也沒有const那就是普通數據成員啦!←_← 相信很多同學都爲三種數據成員的賦值感到頭暈

原创 友元關係的繼承

注意:以下內容僅由VS2013試驗得出,不一定符合ISO標準 基類的友元不繼承,即如果基類有友元類或友元函數,則其派生類不因繼承關係也有此友元類或友元函數。 如果基類是某類的友元,這種友元關係同樣不被繼承的,即其派生類不因繼承也成

原创 插入運算符“

介紹 在C++語言提供的I/O系統中,運算符“<<”的重載函數被定義爲輸出流類ostream的成員函數,分別對char、int、long、float、double、字符串、指針等基本類型進行了重載。 對於我們自己定義的類,我們也可

原创 引用型的函數返回值

一般的函數要返回一個值,例如: int max(int a, int b){return a>b ? a : b;} 當把函數的返回值說明爲引用型時,這個函數返回的不僅僅是某一變量或對象的值,而且返回了它的“別名”,該函數的調用也

原创 派生類的說明和構造函數

寫在前面 上一篇文章派生與繼承介紹了派生與繼承的一些基本知識,在這裏我們將學習派生類的說明和構造函數。 派生類的說明 格式 class <類名>:<基類說明表>{ private: <私有成員表> protected:

原创 類成員的訪問控制

無論是類的數據成員還是函數成員,都被分爲public、protected、private三種。 可能引用這些類成員的有五種函數:原類(該成員所在類)的函數、原類的友元函數、原類的友元的函數、原類的派生類的函數、類外函數。 我們把上

原创 原類

很多朋友在前面幾篇文章裏看到“原類”這個詞,心中一定會有這樣的疑問:“咦?這個‘原類’是什麼東西,我怎麼沒見過也沒聽說過?” 原因很簡單,那是我自創的啊! “原類”的簡單定義如下: 一個數據、函數或者類被說明時所在的類,就叫原類

原创 友元函數與運算符重載的結合

寫在前面 之前的文章闡述了友元函數和友元類和運算符重載,當運算符重載需要調用原類的私有成員或保護成員時,需要將運算符函數聲明爲友元函數。 例子 #include<iostream> using namespace std; cla

原创 靜態存儲屬性static

1. 對於全局變量 作用:將作用域鎖定在本程序文件,不可通過extern擴展 int xixi; 生存期:整個程序運行過程 作用域:本程序文件,但可通過外部屬性說明(extern)將其作用域擴展到整個程序 static int x

原创 派生與繼承

介紹 類與類之間可以有派生和繼承的關係,這兩種關係是相互的,即父類(基類)派生出子類(派生類),子類(派生類)繼承自父類(基類)。 派生方式有三種:public(公共派生)、protected(保護派生)和private(私有派生

原创 漢諾塔問題(Hanoi塔)

問題 有三個立柱A、B、C。A柱上穿有大小不等的圓盤N個,較大的圓盤在下,較小的圓盤在上。要求把A柱上的圓盤全部移到C柱上,保持大盤在下、小盤在上的規律(可藉助B柱)。每次移動只能把一個柱子最上面的圓盤移到另一個柱子的最上面。請輸

原创 八皇后問題(N皇后問題)

問題:在一個N*N的棋盤上擺放N個“皇后”,且兩兩不在同一直線和斜線上,求有多少種擺法 解法:使用遞歸和回溯的思想求解 代碼: #include <iostream> using namespace std; const int