Time of Update: 2018-12-06
私人成員變數的概念,在腦海中的現象是,以private關鍵字聲明,是類的實現部分,不對外公開,不能在對象外部存取對象的私人成員變數.然而,在實現拷貝建構函式和賦值符函數時,在函數裡利用對象直接存取了私人成員變數,因而,產生了困惑.下面以具體執行個體進行說明: 1 class CTest { 2 public: 3 CTest(int i); 4 CTest(const CTest& rhs); 5 CTest& operator=(const
Time of Update: 2018-12-06
在C++中,調用拷貝建構函式有三種情況:1.一個對象作為函數參數,以值傳遞的方式傳入函數體.2.一個對象作為函數傳回值,以值傳遞的方式從函數返回.3.一個對象用於給另外一個對象進行初始化(複製初始化).拷貝建構函式必須以引用的形式傳遞(參數為引用值).其原因如下:當一個對象以傳遞值的方式傳一個函數的時候,拷貝建構函式自動的調用來產生函數中的對象.這樣會導致無限迴圈地調用拷貝建構函式,直至棧溢出.以前,一直有個誤解,以為以同類型的對象調用"="時,就會調用賦值符.參看以下的例子: 1 class
Time of Update: 2018-12-06
Anthem的原理簡單來說是post到當前頁面.獲得需要更新的內容,再更新原來的頁面.只有上傳檔案的fileUpload控制項是通過建立iframe實現. 這篇隨筆簡略的分析了下anthem完成無重新整理的基本原理,anthem的代碼思路清晰 ,值得去研究下源碼.anthem的程式碼數還是有點多.需要慢慢看 我還是暫時記錄下來,以備以後回顧. 拿最簡單的Label和button控制項分析,實現的效果是
Time of Update: 2018-12-06
索引器是一種特殊的類成員,它能夠讓對象以類似數組的方式來存取,使程式看起來更為直觀,更容易編寫。 1、索引器的定義 C#中的類成員可以是任意類型,包括數組和集合。當一個類包含了數組和集合成員時,索引器將大大簡化對數組或集合成員的存取操作。 定義索引器的方式與定義屬性有些類似,其一般形式如下: [修飾符] 資料類型 this[索引類型 index] { get{//獲得屬性的代碼}
Time of Update: 2018-12-06
C#與51單片機串口通訊51接受資料,PC發送資料。通過單片機的數位管將PC發送的16進位資料顯示出來。51接受資料代碼:#include <reg51.h>#include <string.h>#include <intrins.h>sbit LS138A = P2^2; //定義138解碼器的輸入A腳由P2.2控制sbit LS138B = P2^3; //定義138解碼器的輸入腳B由P2.3控制sbit LS138C = P2^4; //定義13
Time of Update: 2018-12-06
這應該不是第一次學C#了,以前曾經在圖書館借過C#方面的書,大體的感覺是與C++的文法有比較相似的一面,沒有在這方面做很多練習,自然就陌生了。回顧自己學習C++的曆程,卻也是經過了很多遍的學習與實踐的結合才掌握到如此程度的。C#應該也是如此。 其實在程式設計語言方面,掌握好幾門就已經足夠了。電腦領域的核心問題不在程式設計,而在演算法與資料結構設計。如果希望自己設計的軟體有良好的市場前景,關鍵還是在於頭腦。 借了本《C#大學教程》,感覺讀起來沒有什麼困難,
Time of Update: 2018-12-06
在MFC中,對話方塊的初始化採用的是重載虛函數OnInitialDialog的方法,在C#中可以直接在需要添加訊息的類中添加訊息處理函數。在對話方塊載入時調用的函數如下:1 private void Form1_Load(object sender, EventArgs e)2 {3 label1.Text = "C#";4 }MSDN中說明如下: Form.Load Event.NET Framework 4.5Occurs before a form is displayed for
Time of Update: 2018-12-06
當大家在寫WinFrom的時候,有時候要求右鍵選擇狀態只能選中一項,其它為不項中。 直接上代碼: 處理方法-- 1 /// <summary> 2 /// 設定右鍵菜單單選 3 /// </summary> 4 /// <param name="cms">參數-右鍵可選項類</param> 5 public void
Time of Update: 2018-12-06
zz from http://blog.csdn.net/xiaogelee/archive/2007/12/03/1914057.aspx被C#調用的DLL一般只需要把匯出的函數以適當的形式呈現即可調用,比如 extern "C" __declspec(dllexport) BOOL Integrate3 (){...},這樣的函數,在C#裡面聲明如:[DllImport("xxx.dll", CallingConvention =
Time of Update: 2018-12-06
利用OWC編寫的組件 其實已經有很多網上的現成的,但是用自己的可以隨意改動還是比較爽的,代碼功能不是很強,僅推出供大家學習:)using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using
Time of Update: 2018-12-06
首先看看運算子多載的基本文法。要重載運算子,可以給類添加運算子類型成員(它們必須是static)。我們先看一個簡單的類: public class AddClass1 { public int val; }這僅是int值的一個封裝器(wrapper),但可以用於說明規則。對於這個類下面的代碼不能編譯: AddClass1 op1 = new AddClass1(); op1.val = 5;
Time of Update: 2018-12-06
C# 虛方法(virtual)覆蓋(override) - 隱藏(new) - 重載 using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace AppTest{ class Demo_virtual { static void Main(string[] args) { ////普通,這裡的
Time of Update: 2018-12-06
雖然用了這麼久的C#,用會用,但有些東西為什麼這麼用就不瞭解了。所以,決定持續鞏固梳理基礎~~~ 1.棧:棧是一個記憶體數組.2.堆:堆是一塊記憶體地區.3.實值型別:儲存在棧中.4.參考型別:存數在堆中.5.類:類是一個可以儲存資料並執行代碼的資料結構. 6.方法:/*****************方法是具有名稱的可執行代碼塊.可以使用方法名稱從別的地方執行代碼,也可把資料傳入方法並接受資料輸出.方法有兩個主要部分,方法頭和方法體.方法頭指定方法的特徵,方法是否返回資料,如果返回,返回什
Time of Update: 2018-12-06
今天學到了C#中的{n}運算子,感覺這個運算子就是對C++中%d運算子的一種改進,因為{n}運算子能夠指定其他清單中的第幾個,就比%d之類的運算子操作起來省力很多。我的常式: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace braceApplication 7 { 8 class Program 9 {10
Time of Update: 2018-12-06
兩種使用方法:1、在文本輸入框後加入Regex驗證控制項Regularexpression_r_rValidator。此種方法適用於WebForm中。在Validationexpression_r_r選項中,輸入驗證規則。在ControlToValidate選項中,選擇要驗證的控制項。在ErrorMesage選項中,輸入如果驗證沒有通過頁面要顯示的資訊。2、在隱藏代碼中使用,此方法適用於WinForm和WebForm中。這種方法要先加入聲明命名空間:using
Time of Update: 2018-12-06
主要使用了Int32.Parse(),代碼如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace InputIntFromConsole 7 { 8 class Program 9 {10 static void Main(string[] args)11 {12
Time of Update: 2018-12-06
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;namespace Regular_Expression_1{ class Program { static void Main(string[] args) { Console.WriteLine(
Time of Update: 2018-12-06
標頭檔1、 define保護標頭檔的命名應基於其所在項目原始碼樹的全路徑。2、 標頭檔依賴使用前置聲明(forward declaration),盡量減少.h檔案中#include的數量。能依賴聲明的就不依賴定義。3、 內嵌函式只有當函數少於10行或更少時,才使用內聯類型。4、 -inl.h複雜內嵌函式的定義,應放在-inl.h檔案中。5、 函數定義順序輸入參數在前,輸出參數在後。6、
Time of Update: 2018-12-06
C++嵌入python 把python的include/libs目錄分別加到vc的include/lib directories中去。另外,由於python沒有提供debug lib,體地說,就是沒有提供python25_d.lib了。你可以自己編譯python的原始碼來得到python25_d.lib。所以,如果你想要在debug下運行程式的話,你要把pyconfig.h(在python25/include/目錄下)的大概是在283行,把pragma
Time of Update: 2018-12-06
格式化日期和數位字串經常要用到這個, 就把協助裡面的東西大概整理了一些列在這裡了. 下表描述了用來格式化 DateTime 對象的標準格式說明符。 格式說明符 名稱 說明 d 短日期模式 D 長日期模式t 短時間模式T 長時間模式f 完整日期/時間模式(短時間)F 完整日期/時間模式(長時間)g 常規日期/時間模式(短時間)G 常規日期/時間模式(長時間)C#格式化數值結果表字元 說明 樣本 輸出 C貨幣string.Format("{0:C3}",