Time of Update: 2015-06-24
標籤:以下代碼只實現了單鏈表的手動建立以及輸出功能#include<iostream>using namespace std;struct node{ int data; node *next;};class list{public: void creat(); void show();private: node *head;};void list::creat() //建立鏈表{ node *f=new node(); //建立鏈表的第一個元素
Time of Update: 2015-06-24
標籤:1)“多態”的關鍵在於通過基類指標或引用調用一個虛函數時,編譯時間不確定到底調用的是基類還是衍生類別的函數,運行時才確定 -- 這叫 “動態聯編”。2)分析下面樣本的運行結果class Base {public: int i; virtual void Print() {cout << "Base::Print()" << endl;}};class Derived: public Base
Time of Update: 2015-06-24
標籤: 記得複讀的時候,數學老師就經常給我們說,每天讓自己輕鬆一點,不要給自己找那麼多的麻煩……他不是讓我們什麼都不幹,而是每天積累一點點,弄懂以前不明白的問題,讓自己的生活過得輕鬆一點。我是十分認可這句話的,不管你學什麼,都要紮紮實實的弄懂一點,不要貪多,貪多反而讓你消化不了,反而會讓你迷惑重重。學習任何東西,我們一定要知其所以然……懂得原理。就像以前老師為什麼總是讓我們去演算書上幫我們總結好的結論。
Time of Update: 2015-06-24
標籤:求兩個數字中的最大值//不使用if,:?等判斷語句,求兩個數字中最大的那個數字。#include<iostream>using namespace std;int main(){ int a = -10; int b = -100; int c = (a + b + abs(a - b))/2;//abs(x)是求絕對值的函數,a+b+(a與b的差值)就是最大數的兩倍,再除以2即為最大數。 cout << c << endl;
Time of Update: 2015-06-24
標籤:c++ 入門教程 模板 為什麼需要模板?我們已經學過重載(Overloading),對重載函數而言,C++ 通過函數參數(參數個數、參數類型)的正確匹配來調用重載函數。例如,為求兩個數的最大值,我們定義 max () 函數需要對不同的資料類型分別定義不同重載(Overload)版本。//函數1int max(int x, int
Time of Update: 2015-06-24
標籤: 本文目的是比較這四個方法的優缺點,並給出解決方案。1. 測試環境說明CPU: i3-2310M CPU @ 2.10GHzOS: Linux(64位)庫的版本: lua5.1, luajit2.0,註: 1. sproto庫作者在代碼中使用了lua5.2新庫bitwise Operators,和我們使用的lua5.1環境不匹配,所以用能相容lua5.2和lua5.1的庫bit.numberlua代替 bitwise Operators。
Time of Update: 2015-06-25
標籤:(1)參數傳遞:宏可以很方便的繼承之前代碼的變數,函數,內嵌函式都要靠傳參和全域變數(2)代碼產生 宏和內嵌函式產生時候會替換,沒有函數調用時的壓棧,因此執行效率會比函數高一些,沒有棧溢出的風險,但會產生更多的代碼佔用更多空間。(3)函數和內嵌函式要改變輸入的參數必須用引用或指標 關於宏#define STR(str) #str 表示把str加上""#define STR(str) x##str 表示把str串連上x已經特殊的符號不能作為宏的參數。
Time of Update: 2015-06-25
標籤:c++編寫注釋轉化程式,實現對一個C/C++語言程式源檔案中注釋的轉換功能 1.C++風格的注釋//注釋轉換為標準C分風格/* */注釋 2./* */風格的注釋保持原樣 3.所有的轉換需要符合文法規則 4.注釋轉換需要支援注釋嵌套 注釋轉化要求: 注釋的嵌套情形很多,這裡只是舉例,你需要遵照C/C++語言的注釋規則來編寫代碼,我不會僅測試這裡的例子。 1、單行注釋或沒有嵌套,注釋行直接轉換,如: ①//123 /* 12
Time of Update: 2015-06-25
標籤:簡單的說,虛函數就是被virtual修飾的成員函數。其目的就是為了實作類別的多態性,需要瞭解一下幾個問題:1.一個函數是虛函數,並不是說這個函數不被實現;2.定義一個函數為虛函數的目的,是為了從基類調用衍生類別的同名函數;3.如果一個函數被定義為純虛函數,代表這個函數沒有被實現,需要子類實現。 舉例說明:class A { public: virtual void foo() { cout<<"A::f()"<<endl;
Time of Update: 2015-06-25
標籤: 這兩種之間的轉換主要有兩種方式第一就是內建類型轉換為使用者自訂類型,這裡以int類型轉換為類類型的對象為例,第二就是類類型轉換為int類型前者依靠轉換建構函式,後者依靠自訂的類型轉換函式一.轉換建構函式二.類型轉換建構函式#include <iostream>using namespace
Time of Update: 2015-06-25
標籤:list 單鏈表方法實現 節點的構造#include<iostream>using namespace std;template<class _Ty>class list;template<class _Ty>class list_node{friend class
Time of Update: 2015-06-25
標籤:字串求解//求字串中第一次只出現一次的字元。#include <iostream>#include <string.h>#define _SIZE_ 255using namespace std;struct Node{ int index;//儲存下標。 int num;//儲存個數。 Node() :index(-1), num(0){}};char Grial(char *str){ Node node[_SIZE_];//如果只考慮2
Time of Update: 2015-06-25
標籤:二叉樹#include <iostream>#include <string.h>using namespace std;template<typename Type>struct Node{ Type data; Node *left; Node *right; Node(Type d = Type()):data(d),left(NULL),right(NULL){}
Time of Update: 2015-06-25
標籤: 最近兩天開啟本科學校的C++教材,快速回顧了一下C++方面的內容。雖然書本內容比較基礎,但是還是有些知識點值得自己強化記憶。分幾篇文章,加上自己的理解記錄如下。 先回顧面向過程的部分。C++資料類型1、資料類型修飾符: 1.1 long不僅可以修飾int,還可以修飾double;而short只能修飾int; 1.2 "只有修飾符"的資料類型都是"修飾符 int"的簡寫,比如unsigned
Time of Update: 2015-06-25
標籤:學習反射時需要瞭解的概念程式的結構 (namespace, module, package)瞭解反射的意義和缺點 1. Python :關鍵字 : getattr(), inspectpython程式是基於module的, 當你需要動態載入一個module時,就需要用到__import(modulename)__方法, 然後利用getattr(module,attribute,[default])方法去擷取一個module下的方法成員.例如 ,module =
Time of Update: 2015-06-25
標籤:重載C#From的函數上面的工作需要重載Form的一些函數,這樣才能完成,這裡首先瞭解一個知識點:怎麼重載Form的函數?在建立好一個WinForm的工程之後,我們可以用下面的方法找到可以重載的Form方法:(1)彈出物件瀏覽器(2)選擇基底類型From(3)物件瀏覽器設定(4)加入重載方法,以DefWndProc為例 這樣就可以在需要的地方重載這個函數了,這是一個很好的方法。因為方法重載的時候一般不要自己寫這個重載的函數,要從基類中copy這個函數。截獲C#Form訊息先來說接
Time of Update: 2015-06-25
標籤:checked:byte b = 255; checked { b++; } Console.WriteLine(b.ToString());執行出錯:算術運算導致溢出。unchecked:byte b = 255; unchecked { b++; }
Time of Update: 2015-06-25
標籤:1. 結構體與類定義方式結構體定義使用struct類定義使用class結構體: struct testDemo{ int num; void action(){ } } 類: class testDemo{ int num; void action(){ } }==================2.
Time of Update: 2015-06-25
標籤:c語言中基礎資料型別 (Elementary Data Type) int 使用%d double/float 使用%fchar 使用%c記憶體位址使用%p 查看記憶體位址:int a;printf("a的地址是:%p\n", &a);&是C語言中的一個地址運算子,可以用來擷取變數的地址 int age; scanf("%d",
Time of Update: 2015-06-24
標籤: C. Vanya and ScalesVanya has a scales for weighing loads and weights of masses w0, w1, w2, ..., w100 grams where w is some integer not less than 2(exactly one weight of