摘要:
題目:http://acm.hdu.edu.cn/showproblem.php?pid=1162題目大意我就不說了,很容易看明白。直接上代碼吧,還是,只要你會Kruskal,這個題目沒有什么難度。View Code #include<iostream>#include<algorithm>#include<cmath>#include<string>#include<cstring>using namespace std;int father[10005], Enums, Count;double MinL;struct Point
閱讀全文
摘要:
First:純虛函數 純虛函數是一個在基類中聲明的虛函數, 它在該基類中沒有定義具體的操作內容, 要求各派生類根據實際需要給出各自的定義。 純虛函數的格式: virtual 類型 名稱(參數)=0; 實際上,它與一般的虛函數成員的原型在書寫格式上的不同就在于后面加了“=0”。 聲明純虛函數之后,基類中就可以不再給出函數的實現部分。Second:抽象類 帶有純虛函數的類是抽象類。 抽象類的主要作用是通過它為一個類族建立一個公共的接口,使它們能夠更有效地 發揮多態自特性。 抽象類聲明了一個類族派生類的共同接口,而接口的完整實現, 即純虛函數的函數體,要由派生類自己定義。...
閱讀全文
摘要:
虛函數語法: virtual 類型 名稱(){}實際上就是用virtual來限定成員函數。它就成了虛函數了。虛函數聲明只能出現在類定義中的函數原型聲明中,而不能在成員函數實現的時候。多態要滿足三個條件才可以:First: 賦值兼容 (就是由同一個基類派生出來)Second:要聲明虛函數Third:由成員函數來調用虛函數 或者 通過指針訪問虛函數 或者 通過引用來訪問虛函數。下面來看一個例子吧。View Code #include "iostream"#include "cstring"#include "string"#include
閱讀全文
摘要:
明白了函數重載后,運算符的重載就是小意思了。但是運算符的重載在實現起來有一定的規則。First:雙目運算符 運算符重載為成員函數形式。 格式:類名 operator運算符(const 類名 &對象名) const{} 具體的還是看代碼吧。 View Code #include "iostream"#include "cstring"#include "string"#include "cstdio"using namespace std;class Complex{public: Complex(doubl
閱讀全文
摘要:
First: 抽象 面向對象方法中的抽象,是指對具體問題(對象)進行概括,抽出一類對象公共性質并加以描述的過程。 抽象的過程,也是對問題進行分析和認識的過程。 對問題的抽象應該包括兩個方面:數據抽象 和 行為抽象(也就是功能抽象 和 代碼抽象)。 用3個整形數來存儲時間,分別表示時、分、秒,這個就是數據抽象。 顯示時間、設置時間等功能,這就是行為抽象。Second:封裝 封裝就是將抽象得到的數據和行為相結合,形成一個有機整體,也就是將數據與操作數據的函數代碼進行 有機的整合,形成“類”,其中的數據和函數老師類的成員。 這個就不用解釋了吧?!iew Code class Clo...
閱讀全文
摘要:
由于默認狀態在用scanf接受字符串時,會以空格和回車作為結束符。如何讓scanf接受空格?那就用scanf("%[^\n]s",str);這個語句吧。^表示非,也就是[]中的東西在起作用,^\n表示,只要是非回車,就全部接收,所以,這個功能還有下面的用法scanf("%[Hoj]s",str);如果input:Hoiabjo那么str中字符,將是Hojo. 也就是說,只接受Hoj三種字符。如果只輸入數字,那么可以用[0-9],而不需要[0123456789]但是這種用法不能和while結合起來用,不然就會出現錯誤了。為什么?我也不知道。View Cod
閱讀全文
摘要:
rand()功能:偽隨機數發生器庫: stdlib.h用法:需要先調用srand初始化,一般用當前日期初始化隨機數種子, 這樣每次執行代碼都可以產生不同的隨機數。View Code #include "iostream"#include "cstdio"#include "ctime"using namespace std;int main(){ srand((unsigned)time(NULL)); for(int i=0; i<20; i++) { cout<<rand()%10<<endl; }}
閱讀全文
摘要:
看到這個代碼,我傻了。我也想過用這種方法來解決這個問題。但是,我沒有實現,為什么?因為平時很少寫有關位運算的代碼。其實這個不是關鍵,因為我對位的運算不是很熟悉,總感覺是半知半解。當然用的時候也就用不起了。教訓呀。題目: 某電視臺舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:每位選手需要回答10個問題(其編號為1到10). 答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。每位選手都有一個起步的分數為10分。 某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個題目答錯了嗎? 如果把答對的記為1,答錯的記為0...
閱讀全文
摘要:
1.正常無參(無初始值)View Code #include "iostream"#include "string"using namespace std;class Point{public: Point() { cout<<"Default constructor called."<<endl; cout<<x<<" "<<y<<endl; }private: int x, y;};int main(){ Point *ptr1=new P
閱讀全文
摘要:
View Code代碼就是這樣的簡單。無參時的創建。View Code #include "iostream"#include "string"using namespace std;class Point{public: Point(int x, int y) { cout<<"Default constructor called."<<endl; cout<<x<<" "<<y<<endl; }private: int x, y;};int
閱讀全文