Time of Update: 2018-07-25
眾所周知,C中以八進位,十進位和十六進位都可以通過%d,%o和%x輕鬆實現,然而唯獨沒有提供二進位輸出的快速方式。博主整理出兩種簡單的實現方式,供參考。 方法一:itoa函數 itoa函數將數值轉換為字串,通過規定轉換進位實現。(還是用了C內建的代碼塊hh) #include<stdio.h>#include<stdlib.h>//注意必須調用stdlib.h函數庫int main(void){ int a=1000; char str[30];
Time of Update: 2018-07-25
一、枚舉類型是什麼,有什麼用 枚舉類型是由使用者定義的,由於表示一組有意義的元素值。 例如,已知系統所用顏色有藍色,紅色,黑色,綠色這幾種。所以就可以定義一個枚舉類型用來表示這幾種顏色,其中的各個枚舉成員代表藍色、紅色、黑色、綠色。 二、如何定義枚舉類型 在C++中,使用關鍵字enum來定義, enum 枚舉類型名{一系列枚舉值}; enum colors{blue,black,red,green};
Time of Update: 2018-07-25
C#的事件 參考書籍: 《C#圖解教程》 事件這東西呢,其實就是觀察者模式。事件在很多架構裡面都有,例如Andriod,QT5(訊號槽),Cocos2d-x,Unity3d,一般的GUI如按鈕,編輯文本,等等都是用事件的原理來響應程式的。 發行者(publisher)和訂閱者(subscriber) 發行者(publisher),發布某個事件的類或結構。 訂閱者(subscriber),註冊在事件發生時得到通知的類或結構。
Time of Update: 2018-07-25
我通過對一個winform表單應用程式的不斷最佳化,來表現如何通過“委託” 和 “事件” 來降低模組的低耦合。 但是在這之前我們要明白,什麼是低耦合。 簡單的說就是兩個模組之間,如果一個模組中的一個類,需要執行個體化另一個模組中的一個類,然後調用方法,這樣這兩個模組就是綁在一輛戰車上,如果一個模組突然消失,會報錯,我們要做的就是將一個模組中要用的方法,加入到一個委託或事件中,等待其他模組來註冊,其他模組是否消失,與擁有委託或事件的模組無關。聽著還是很繞,上樣本。 /*--------
Time of Update: 2018-07-25
一、定義. 純虛函數是在基類中聲明的虛函數,它在基類中沒有定義,但要求任何衍生類別都要定義自己的實現方法。在基類中實現純虛函數的方法是在函數原型後加"=0"virtual void funtion1()=0二、引入原因:1、為了方便使用多態特性,我們常常需要在基類中定義虛擬函數。2、在很多情況下,基類本身產生對象是不合情理的。例如,動物作為一個基類可以派生出老虎、孔雀等子類,但動物本身產生對象明顯不合常理。 &
Time of Update: 2018-07-25
C#中委託的理解(方便Java的童孩們理解) 定義:委託即Java中的抽象方法,是一個沒有實現的方法,沒有方法體。要在程式啟動並執行時候才知道它的具體啟動並執行是哪一部分代碼(這個定義是從Java角度理解的) 使用:1、定義委託(委託定義的傳回型別和形參要與指定的實現函數的傳回型別和形參一致)。文法格式如下: 修飾符
Time of Update: 2018-07-25
在讀一本C#的入門書時,終於看到了類,看到了類的事件,書上講得很簡單,看例子卻看不懂了——這也難怪,C++基礎並不牢靠、完全沒有物件導向程式設計思想的我,一下子看到那麼多類絞在一起,中間還夾雜著事件、委託這樣陌生的概念,自然讀得一頭霧水。於是去查msdn,說讓我先看委託——有過幾次經驗,比較信任msdn,便先去看msdn,沒想到一看就是一下午的功夫。 下面將自己淺顯的理解寫下來,不期為他人有何啟發,只是
Time of Update: 2018-07-25
private void CreateImage(string checkCode) { int iwidth = (int)(checkCode.Length * 15); &
Time of Update: 2018-07-25
C++中,模板的特化可以實現對不同的資料類型進行不同的處理: 比如我們要對int類型的資料用快速排序法進行排序 對float類型的資料用插入排序法進行排序 template<typename T>void sort(T arg[], int size) {cout << "temp speclized use" << endl;}template<> //特化void
Time of Update: 2018-07-25
有的時候程式中存在隱藏式轉換 比如下面這個例子 #include<iostream>using namespace std;class myComplex {private:int real; //複數的實部int image; //複數的虛部public:myComplex(int real = 0, int image = 0) {this->real = real;this->image = image;}friend bool
Time of Update: 2018-07-25
類型轉換符採用通用形式: operator /*重載類型*/() {/*內容*/} 對任何可作為函數的傳回型別(除了void之外),都可以進行重載 不允許轉換為數組或函數類型,轉換為指標類型以及參考型別是可以的 operator int(Small Int& ); // error:nonmemberclass SmallInt{public:int operator int(); // error: return listoperator
Time of Update: 2018-07-25
我們可以通過檔案流來控制檔案的輸入以及輸出: fstream: 建立一個未綁定的檔案流 fstream fstrm("file.txt") 建立一個fstream,並開啟名為s的檔案 可以是字串或指標, 可以設定開啟的mode 檔案流名.open("file.txt") 開啟名未file.txt的檔案,並將檔案與fstrm綁定 檔案流名.close();
Time of Update: 2018-07-25
在實際開發中,經常會遇到C++與C混用的情況,具體方法如下 C1.c檔案是用C編寫的C檔案: #include <stdio.h> //使用C編寫int i = 1;void func(){printf("%d", ++i);} CPP1.cpp檔案是用c++編寫的C++檔案 #include<iostream>using namespace std;//使用C++編寫//extern int i;extern
Time of Update: 2018-07-25
C++程式設計語言是一款應用廣泛,支援多種程式設計的電腦程式設計語言。我們今天就會為大家詳細介紹其中C++多態性的一些基本知識,以方便大家在學習過程中對此能夠有一個充分的掌握。 多態性可以簡單地概括為“一個介面,多種方法”,程式在運行時才決定調用的函數,它是物件導向編程領域的核心概念。多態(polymorphism),字面意思多種形狀。 C++多態性是通過虛函數來實現的,虛函數允許子類重新定義成員函數,
Time of Update: 2018-07-25
利用C++產生不同的隨機數的函數rand()輔以srand()函數產生0~53之間的54個數字(之所以選擇54是因為為洗牌而定) 演算法一:先定義一個數組(可以全為0或者同一個數,也可以不賦值),首先利用srand()函數產生一個隨機種子,利用rand()函數產生隨機數,從第一個數開始進入到數組,每一個與之前的i-1個進行比較 若有相同的則可以重建在進行判斷;實現代碼如下: </pre><pre name="code" class=
Time of Update: 2018-07-25
一、rand() 函數名: rand 功 能: 隨機數發生器 用 法: int rand(void); 所在標頭檔: stdlib.h 函數說明 : &
Time of Update: 2018-07-25
C++中產生隨機數種子對於初學者一直都很困惑.大家知道,在C中有專門的srand(N)函數可以輕鬆實現這一功能,然而在C++中則要複雜一些.下面是筆者學習的一點心得,希望對大家能有所協助.(這裡我們依然要藉助C標準庫中的rand()函數) 函數說明: int rand(); :返回從[0,MAX)之間的隨機整數,這裡的MAX與你所定義的資料類型而定;需#include void srand( unsigned seed ); :設定隨機數種子,#include time_t
Time of Update: 2018-07-25
今天偶然看了一下C#4.0的新特性, 第一個新特性就令我興奮不已, 曾經一度令我使用C#很不習慣的"死參數"問題終於搞定了. 實在太爽了! 過去用C++, VB.NET的時候都很爽, 開始用C#了發現怎麼沒有這個功能, 令我很難受, 一直不明白是C#設計的問題還是其中實現起來太複雜啊, 不過這回終於OK了. 1
Time of Update: 2018-07-25
標頭檔<cstdlib>中有一個重要的函數 rand() , 可以作為隨機數發生器。 現在現在我想產生一個隨機數, 我使用如下的程式: #include <iostream>#include <cstdlib>using namespace std;int main(){ cout << rand() << endl; return 0;} 問題來了,
Time of Update: 2018-07-25
說明一下這裡用的是 g++編譯器,如果用 vs 要 做適當的修改。 #include <stdio.h> //#define N 9 //階數 #include <iostream> using namespace std; int main(void) { while(1){ int N;//階數 cin>>N; int a[N][N];