Time of Update: 2017-02-27
在編寫程式時,我們可以對類的成員使用不同的存取修飾詞,從而定義它們的存取層級。公有成員C#中的公有成員提供了類的外部介面,允許類的使用者從外部進行訪問。公有成員的修飾符為public,這是限制最少的一種訪問方式。私人成員C#中的私人成員僅限於類中的成員可以訪問,從類的外部存取私人成員是不合法的。如果在聲明中沒有出現成員的存取修飾詞,按照預設成員為私人的。私人成員的修飾符為private。保護成員為了方便衍生類別的訪問,又希望成員對於外界是隱藏的,這時可以使用protected修飾符,聲明成員為保
Time of Update: 2017-02-27
前言:
Time of Update: 2017-02-27
一、緒論當微軟推出VS.NET7實現了可擴充的託管C++後,C++程式員們反映不一。儘管大部分的程式員對於能夠繼續使用C++感到很欣慰,但幾乎所有的人對於託管C++提供的晦澀文法感到很痛苦。微軟明顯從反饋中感覺到託管C++不是那麼成功。2003年10月6日,ECMA(歐洲電腦製造商協會)宣布成立專家組,負責結合ISO標準C++與通用語言,開發一個可擴充語言的標準,這個新的可擴充語言被稱為C++/CLI標準。這個標準將被VS.NET2005的C++編譯器支援。二、老文法存在的問題1、晦澀繁瑣的文法
Time of Update: 2017-02-27
條件編譯指令有以下四種:●#if●#elfi●#else●#endif這些條件編譯指令用來有條件地將部分程式段包括進來或排除在外。它們和C#中的if語句有類似的作用。你可以在指令中使用邏輯操作符與(&&),或(||)和取反操作符(!)等。它們在程式中的出現的先後順序必須是這樣:一條#if語句(必須有)零或多條#elif語句零或一條#else語句一條#endif語句(必須有)下面我們通過一些例子來說明它們的用法。#define Debugclass Class1{#if
Time of Update: 2017-02-27
操作符(operator)用於操作資料。操作符進行計算、檢查等式、進行賦值、操作變數和進行其它更奇怪的工作。C++中有許多操作符,這裡不想列出全部,只列出最常用的操作符,如下表所示。表1.2常用C++操作符操作符說明舉例 算術運算子 + 加 x=y+z; - 減 x=y-z; * 乘 x=y*z; / 除 x=y/z; 賦值運算子 = 賦值 x=10; += 賦值與和 x+=10;(等於x=x+10;) -= 賦值與減 x-=10; *= 賦值與乘 x*=10; \= 賦值與除 x\=10; &
Time of Update: 2017-02-27
引用計數指標是否能有效地回收,對系統意外關機之後資料的恢複來說至關重要,關鍵是要避免對象複製。怎樣從災難性故障中,恢複一個長期運行、系統級的後台守護進程或者服務,在如今的軟體設計過程中,已成為了一個重要的考慮因素。當這些軟體是由C++語言編成,並使用了引用計數的智能指標時,那麼,智能指標的有效回收,對系統是否具有可伸縮級的恢複能力、甚至正確地繼續未完成的操作來說,都顯得至關重要。在本文中,描述了一種方法,可從關機之後的軟體恢複中,有效地回收引用計數指標,而且此方法在記憶體佔用方面也非常高效,這種
Time of Update: 2017-02-27
C語言的資料類型在第一課中,我們已經看到程式中使用的各種變數都應預先加以說明,即先說明,後使用。對變數的說明可以包括三個方面:·資料類型·儲存類型·範圍在本課中,我們只介紹資料類型說明。其它說明在以後各章中陸續介紹。所謂資料類型是按被說明量的性質,表示形式,佔據儲存空間的多少,構造特點來劃分的。在C語言中,資料類型可分為:基礎資料型別 (Elementary Data Type),構造資料類型,指標類型,空類型四大類。1.基礎資料型別
Time of Update: 2017-02-27
多年以來,只要提到編寫Windows服務,就會想到用Visual C++編寫,同時,這也是其中一件C++程式員可以做,而VB程式員不可以做的事情。以前,我們只稱其為"服務"或"NT服務",現在,它們被命名為"Windows服務",而且用VB.NET或C#也可以很容易地編寫。但是,如果你想用託管C++來編寫呢?畢竟,大多數有經驗的Visual
Time of Update: 2017-02-27
預先處理指令由ANSI的標準規定,預先處理指令主要包括:#define #error #if #else #elif #endif #ifdef #ifndef #undef #line #pragma 由上述指令可以看出,每個預先處理指令均帶有符號"#"。下面只介紹一些常用指令。1.#define指令#define指令是一個宏定義指令,定義的一般形式是:#define 宏替換名字串(或數值) 由#define指令定義後,在程式中每次遇到該宏替換名時就用所定義的字串(或數值)
Time of Update: 2017-02-27
今天做一個項目中用到把DataSet對象序列化成檔案,並上傳到伺服器,不過產生的檔案比較大,就想 著壓縮一下,找了一下資料,用GZipStream來壓縮了一下,效果還是非常理想的。現在把這部分代碼整理 了一下:using System.Data;using System.IO;using System.IO.Compression;using System.Runtime.Serialization;using
Time of Update: 2017-02-27
2.結構和聯合的區別結構和聯合有下列區別:1.結構和聯合都是由多個不同的資料類型成員組成,但在任何同一時刻,聯合中只存放了一個被選中的成員,而結構的所有成員都存在。2.對於聯合的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了,而對於結構的不同成員賦值是互不影響的。下面舉一個例了來加對深聯合的理解。例4:main() { union{ /*定義一個聯合*/ int i; struct{ /*在聯合中定義一個結構*/ char first; char second; }
Time of Update: 2017-02-27
一、嵌套結構嵌套結構是指在一個結構成員中可以包括其它一個結構,Turbo C允許這種嵌套。例如:下面是一個有嵌套的結構struct string{ char name[8]; int age; struct addr address; } student; 其中:addr為另一個結構的結構名,必須要先進行說明,即struct addr{ char city[20]; unsigned lon zipcode; char tel[14]; }
Time of Update: 2017-02-27
二、結構指標結構指標是指向結構的指標。它由一個加在結構變數名前的"*" 操作符來定義,例如用前面已說明的結構定義一個結構指標如下: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }*student; 也可省略結構指標名只作結構說明,然後再用下面的語句定義結構指標。 struct string *student;
Time of Update: 2017-02-27
概述本文是《Effective C#》一書第七節的讀書筆記。通過這篇文章,我主要想向大家說明一個我們平時 可能不太會注意到的問題:建立具有常量性和原子性的實值型別。從類型設計談起從Class到Struct假如我們要設計一個儲存收信人地址的類型(Type), 我們管這個類型叫 Address。它應該包含這樣幾 個屬性:Province 省City 市Zip 郵編要求對Zip的格式進行控制(必須全為數字,且為6位),大家該如何設計呢?我想很多人會寫成這樣吧
Time of Update: 2017-02-27
在跨平台的開發過程中,很多問題都和編譯器有關。因此我們先來聊聊編譯器相關的問題 。★編譯器的選擇首先,GCC是優先要考慮支援的,因為幾乎所有作業系統平台都有GCC可用。它基本上成了 一個通用的編譯器了。如果你的代碼在A平台的GCC能夠編譯通過,之後拿到B平台用類似版本 的GCC編譯,一般也不會有太大問題。因此GCC是肯定要考慮支援的。其次,要考慮是否支援本地編譯器。所謂本地編譯器就是作業系統廠商自產的編譯器。例 如相對於Windows的本地編譯器就是Visual
Time of Update: 2017-02-27
14.1.1
Time of Update: 2017-02-27
本例包括1.用戶端用xmlHTTP 向伺服器頁面發送請求2.伺服器頁面後台用C#中DataSet實現資料庫的操作 並得到結果3.用戶端用xmlDOC 得到xmlHTTP返回的結果 並對結果進行操作附錄XMLHTTP的常用方法和屬性XMLDOC的常用方法和屬性=========================發送xmlHttp請求到伺服器端=========================var xmlhttp = new
Time of Update: 2017-02-27
Windows中的拖放功能大家一定很熟悉了,如檔案的轉移,拷貝等操作用滑鼠輕輕一拖即可,在編寫程式中有時也用到拖放,那麼如何?呢?現以C++ Builder5(簡稱CB5)為例,分析拖放功能的具體實現。一.工具條的拖放---- 要實現拖放功能,首先必須瞭解幾個與拖放有關的屬性和方法, 對於TControl控制項,CB5提供了三個屬性,DockSite,DragKind和DragMode。靈活運用這三個屬性會得到意想不到的效果。這三個屬性的意義是:----
Time of Update: 2017-02-27
這幾天剛從cb6升級到cb2007,有個自己寫的程式使用dbExpress開發firebird資料庫,串連不上,在網上找了一些資料,自己又摸索了一些cb2007的新功能,介紹給大家。首先聲明,本人不是專職程式員,編程只是愛好,以下方法並不是我最先發現的,我只是整理一下,並給那些還在cb6下開發的兄弟介紹點cb2007的新東西。為了迎接cb2009,呵呵。圖片點擊放大。1、 首先修改dbExpress的ini配置預設是C:\Documents and Settings\All
Time of Update: 2017-02-27
我們知道C#和C++的差異之一,就是他本身沒有類庫,所使用的類庫是.Net架構中的類庫--.Net FrameWork SDK。在.Net FrameWork