Time of Update: 2018-12-06
從系統實現的角度看,多態性分為兩種,靜態多態性與動態多態性靜態多態性:函數重載、運算子多載(本質上也是函數重載);動態多態性:在程式運行過程中才動態地確定操作所針對的對象,又稱為運行時的多態性,一般通過虛函數(virtual
Time of Update: 2018-12-06
建構函式:用以對類中資料成員進行初始化系統會自動產生預設建構函式(參數為空白),但是若手動定義了帶參的建構函式,會自動覆蓋預設建構函式時若需要調用預設建構函式進行執行個體化,需要手動定義一個不帶參的建構函式初始化列表:可通過初始化列表的方式對類資料成員進行初始化,如定義初始化列表:User():sId(0001),sSex(1)繼承基類時在衍生類別中調用基類的建構函式,對基類進行初始化,實際上就是初始化列表。建構函式可以只在類體內聲明,在類體外定義,且聲明時不需要初始化列表,在定義時需要給出初始
Time of Update: 2018-12-06
代碼如下View Code 1 #include <iostream> 2 #include <fstream> 3 #include <sstream> 4 5 using namespace std; 6 class Student 7 { 8 public: 9 int sId; 10 char sName[10]; 11 }; 12 13 //申明模版類 14 template <typename
Time of Update: 2018-12-06
C++中的異常類只能捕獲普通異常,無法捕獲記憶體異常,除數為零等錯誤。而後期語言,如java、C#能捕獲所有錯誤,包括記憶體異常等。以下為C++的簡單異常處理類:通過繼承實現異常處理1、定義異常基類2、定義具體異常類,繼承基類3、給具體異常類異常資訊賦值 1 /*通過繼承實現異常處理 2 1、定義異常基類 3 2、定義具體異常類,繼承基類 4 3、給具體異常類異常資訊賦值 5 */ 6 class Exception 7 { 8 public: 9 Exception()10
Time of Update: 2018-12-06
值傳遞方式:1、普通調用,形參與實參為同樣的類型fun(int i)()fun(Student stud)()main(){ fun(1);Student s1; fun1(s1);}在函數中可以修改形參的值,但不能改變其對應的實參的值(形參的值變化無法傳送到實參) 原因:在函數調用時將建立一個新的對象,是實參對象的拷貝,實參與形參分別佔有不同的儲存空間,無論形參是否修改都不會改變實參的值。
Time of Update: 2018-12-06
一、安裝Xcode(3.2版)軟體:1.Xcode軟體可以在蘋果網站下載2.原廠配件包內的Mac OS X install DVD光碟片,選擇Optional Installs,安裝Xcode.mpkg二、啟動Xcode內的C++:啟動路徑:Macintosh HD→Developer→Applications→Xcode,啟動xcode:接下來會看到以下畫面:三,選左側的Application , 然後是右側的Command Line Tool,Type可以根據實際情況選擇
Time of Update: 2018-12-06
建構函式可以使用 base 關鍵字來調用基類的建構函式。例如:public class Manager : Employee{public Manager(int annualSalary) : base(annualSalary) {//Add further instructions here. }}在此樣本中,基類的建構函式在執行建構函式塊之前被調用。base 關鍵字可帶參數使用,也可不帶參數使用。建構函式的任何參數都可用作 base
Time of Update: 2018-12-06
重寫和隱藏的定義:重寫:基類方法聲明為virtual(虛方法),衍生類別中使用override申明此方法的重寫.隱藏:基類方法不做申明(預設為非虛方法),在衍生類別中使用new聲明此方法的隱藏。這樣看起來似乎不是很清晰明了,換成我自己的理解就是:比如父類A,有個方法標記為virtual,a(){} 子類B繼承A,也聲明一個方法a(){} 如果B裡面的a()使用override,那麼訪問A的方法時實際上調用了B裡面聲明的方法,相當於A的方法被覆蓋了,new就不是,訪問A的a還是A裡面定義的
Time of Update: 2018-12-06
首先,該檔案中使用的列印log的宏有 ERROR() INFO() NOTICE(),在系統裡對這幾個log宏做了限制,如下#define ERROR(x...) log_write(3, "<3>init: " x) #define NOTICE(x...) log_write(5, "<5>init: " x) #define INFO(x...) log_write(6, "<6>init: " x) #define
Time of Update: 2018-12-06
C# 屬性特徵非常有用,以下是屬性特徵的實驗性總結(c#2.0)1.屬性只在被訪問時構造,每訪問一次就構造一次。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class MyAttribute : Attribute {public MyAttribute(string name) {this.name = name;
Time of Update: 2018-12-06
1、Obj-C代碼的副檔名為“.m”. 2、Obj-C的要包含標頭檔時,可以使用 #include 但更一般的使用 #import ( 由GCC編譯器提供),後者可以保證標頭檔只被包含一次(l類似C中的#ifdef)。 3、有關Cocoa 的架構,可參照http://www.cocoachina.com/newbie/basic/2009/0611/130.html 4、hello Objecitve-C#import
Time of Update: 2018-12-06
因為要看看Monocross的東西,用它去實現移動開發的跨平台。Monocross是利用C# .net 去做的,所以就看了下C#,C#與C++及java都蠻相似,但也有其一些獨特的東西,稍稍小結如下:1、C#是一門建立在C++和java基礎上的物件導向的跨平台語言,但與java不同的是,C#的跨平台不是依賴於JVM,而是.net framework,這是C#與java的本質差別。java編譯後形成位元組代碼,這些代碼需要在jre(java runtime
Time of Update: 2018-12-06
摘自維基百科:http://zh.wikipedia.org/zh-cn/C%E6%A0%87%E5%87%86%E5%BA%931995年,Normative Addendum 1 (NA1)批准了三個標頭檔(iso646.h, wchar.h, and wctype.h)增加到C標準函數庫中。C99標準增加了六個標頭檔(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and
Time of Update: 2018-12-06
欲產生隨機數,主要用到兩個函數srand,rand。標頭檔為:#include <stdlib.h> 一、函數1.srandvoid srand ( unsigned int seed );用法:它需要提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的 rand() 函數會出現一樣的隨機數。為了防止隨機數每次重複常常使用系統時間來初始化,即使用 time函數來獲得系統時間,它的傳回值為從 00:00:00 GMT, January 1, 1970
Time of Update: 2018-12-06
平時對字串的操作的是很多的,瞭解下常用的字串函數會使 c 編程變得很快捷!這裡適當整理一下,方便以後參考。使用時,會用到大量指標的操作,注意加標頭檔:#include <string.h> 一、str 系列1.strtokextern char *strtok( char *s, const char *delim
Time of Update: 2018-12-06
近期看到了文字資料流和二進位流的區別,書上講的比較含糊,理解不透徹,於是細細琢磨了下,把心得跟大家分享一下:一、首先回答,什麼是檔案,流 一個檔案通常就是磁碟上的一段命名的儲存區。比如 stdio.h 就是一個包含一些有用資訊的檔案的名稱。 C將檔案看成是連續的位元組序列,其中每一個位元組都可以單獨地讀取。這與 UNIX 環境(C的發源地)中的檔案結構是一致的。因為其他環境中的檔案模型可能會有所不同,所以 ANSI C
Time of Update: 2018-12-06
%.2f float型 double型 %lf %e 科學計數法 scanf("%f" , &weight);float a =3.13e-2; 資料類型關鍵字 int long short unsigned char float double long double _Bool 一個位元組8位 int 儲存在一個字中 按照電腦位元不同,一個字有16位,32位,64位(32位) 輸出8,16進位 %o %x
Time of Update: 2018-12-06
一、刪除檔案1.c 調用dos命令: system(char *cmd); 如 system( "del d:\\chang\\xxx.txt "); 刪除檔案2.調用api: 刪除一個檔案: int remove(char *filename ); 返回0 成功 -1失敗3.DeleteFile("d:\\new.txt"); //刪除一個檔案BOOL DeleteFile(LPCTSTR filename);4._unlink( filename )
Time of Update: 2018-12-06
一、strcat(str,s) 第二個參數一定為字串! "i" "is" 不能是字元 'i'
Time of Update: 2018-12-06
#include <stdio.h>#include <stdlib.h>#include <string.h>void strsrt(char *str[], int num){char *temp;int top, seek;for (top = 0; top < num - 1; top++) {for (seek = top + 1; seek < num; seek++) {if (strcmp(str[top],