原创 線性鏈表:單鏈

C++中線性表的單鏈表存儲結構: typedef struct Lnode{ elemtype data; struct Lnode *next; //指向下一個結點的指針 }Lnode,*LinkList;

原创 python-pandas-series

python的pandas庫的神器series,相當於有序字典。 導入series的方法: from pandas import Series Series的創建方式很多樣: #僅用第一個參數,則使用默認的從0開始的整數index,不

原创 成員模板,模板類做類成員

C++的模板可用作結構體、類或模板類成員,在此記錄一個例子: #include <iostream> using std::cout; using std::endl; template<typename T> class beta{

原创 抽象基類,虛函數,純虛函數

class="cpp" name="code">在敲代碼的時候很容易遇到一些比較尷尬的情況。假設現在的需求是創建兩個類,一個橢圓類,一個圓類。 第一種方法是由於圓是橢圓的特殊情況,可以從橢圓類派生圓類,如下: class Ellips

原创 \

C++的map提供一種指定類型間的一對一映射關係,其基本的創建、查找、刪除操作如下: #include <map> #include <string> #include <iostream> using namespace std;

原创 類繼承,公有繼承,多態公有繼承

從一個類派生出另一個類時,原始類成爲基類,繼承類成爲派生類。 其語法爲: class Subclass:public Parent_class{ //注意基類前的public修飾 ...... }; 派生類不能直接訪問

原创 文件輸入輸出基礎操作

由於剛學C++,在此記錄一些勉強夠用的文件流輸入輸出操作 先放一段代碼: #include <iostream> #include <string> #include <fstream> using namespace std; s

原创 棧的實現

棧的存儲結構: typedef struct{ elemtype *top; elemtype *base; int stacksize; }SqStack;函數InitStack,構造一個空棧:

原创 異常處理,abort(),exit(),返回錯誤碼

abort函數位於cstdlib頭文件裏,它會終止程序,並根據具體實現返回一個值給調用這個程序的系統或進程,而exit函數單純終止程序,不會返回消息。 abort的具體實現: #include <iostream> #include <c

原创 包含表示has-a模式,類

假如我們現在需要一個Student類,裏面儲存了學生的name和scores,一般提到name會想到用char數組,提到scores會想到用double型數組,但使用數組就會帶來的一個長度不確定的問題,要是聲明一個很大的數組,太浪費內存空

原创 類的構造函數和析構函數

python由於變量類型的自由,在定義函數的時候省去了許多麻煩。 C++想要在類裏定義一個構造函數,和寫普通的成員函數有所區別: ①構造函數沒有聲明返回類型 ②構造函數可以有多個,分別應對不同參數 ③通常取和類名相同的函數名 析構函數

原创 類的操作符重載及友元函數

若想要定義的類成員能夠符合人類邏輯使用已有的語言內置操作符,可以大幅提高編程效率和代碼可讀性 其一般語法爲: class test{ public: ...... typename operator nam

原创 模板類,通用類型名與非類型參數

C++中有一系列用來存儲和修改變量的類,用來實現棧和隊列等數據結構,但若是每次遇到一種變量類型就要重寫一個存儲該類型的stack類未免太麻煩,爲了解決這個問題,就需要使用模板類。 例:用模板類實現的一個簡單stack類 template

原创 私有繼承與包含

C++要實現has-a關係,除了包含,還可以使用私有繼承。 私有繼承的基類所有public,protected方法都會變成派生類中的private方法,這意味着基類方法不會成爲派生類公有接口一部分,即只能通過派生類的基類成員調用基類方法。

原创 DHCP 動態主機配置協議

爲了讓TCP/IP協議簡單易用,需要一個自動化配置工具,DHCP(dynamic host configuration protocol)。 該協議的工作方式: ①客戶端廣播一個報文(UDP格式)。 ②DHCP服務器收到廣播,從IP地址