Time of Update: 2018-12-04
問題提出:類C繼承自基類A和基類B,現在有一個類C的對象,將其地址分別轉換為基類A的指標和基類B的指標,那麼這兩個指標的值相等嗎?答案:不相等。解釋:由可見,衍生類別對象在記憶體中是把各個基類相關資訊放在一起,然後存放自己的成員。類C對象地址轉換為基類A和基類B的指標後它們的值如所示。下面是一個驗證程式:// cpp_learning.cpp : Defines the entry point for the console application.//#include
Time of Update: 2018-12-04
<一>C/C++怎樣產生隨機數:這裡要用到的是rand()函數, srand()函數,C語言/C++裡沒有內建的random(int number)函數。(1) 如果你只要產生隨機數而不需要定義範圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 範圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647。例如:#include#includevoid main(){for(int
Time of Update: 2018-12-04
如果試圖直接使用C++的成員函數作為回呼函數將發生錯誤,甚至編譯就不能通過。通過查詢資料發現,其錯誤是普通的C++成員函數都隱含了一個傳遞函數作為參數,亦即“this”指標,C++通過傳遞一個指向自身的指標給其成員函數從而實現程式函數可以訪問C++的資料成員。這也可以理解為什麼C++類的多個執行個體可以共用成員函數但是確有不同的資料成員。由於this指標的作用,使得將一個CALLBACK型的成員函數作為回呼函數安裝時就會因為隱含的this指標使得函數參數個數不匹配,從而導致回呼函數安裝失敗。要解
Time of Update: 2018-12-04
C++ 中,new其實有三種含義: 1.new operator2.operator new3.placement new我們最常用的用法是A *a = new A();這裡的new就是new operator,它一共包含了三步:1.分配記憶體2.調用A的建構函式3.返回記憶體指標第一步,分配記憶體,實際就是使用operator new,效果和malloc類似,直接調用的話,如下:a = operator new(size); 或者operator
Time of Update: 2018-12-04
在父表單中顯示子表單時,加上子表單.Owner=this;在子表單中定義一個父表單對象,在Load函數裡面讓父表單對象=(父表單類型)this.Owner。然後用這個父表單對象就可以在子表單的任何位置直接使用它的參數了(這些參數要定義成公用的).將父表單對象定義成子表單的一個變數,不是在Load中定義父表單對象,只是在Load中擷取父視窗,這樣在子表單的任何位置都應該可以使用這個父視窗對象了如下面代碼所示:(1)在父表單中 Form2 f2 = new Form2();//建立子表單對象
Time of Update: 2018-12-04
首先先來簡單介紹一下webbrowser控制項,這個控制項是可以實現在form表單中添加網頁內容的。,我在form中加入了百度api,(百度地圖api調用部落格裡有講)使用這個控制項其實很簡單(1)第一步只要在form_load中輸入webBrowser1.Navigate(Application.StartupPath + "
Time of Update: 2018-12-04
自己對“一個C的實驗及疑惑 ”一文中問題的解釋!早上看了要飯兄的BLOG,看到一個C的實驗及疑惑一文。泛泛看了下,也對他的疑問發表下自己的看法: 我寫了一段代碼如下:#include <stdio.h>#include<malloc.h>#include<conio.h>int main(){ struct { char a1[10]; int a2[10]; }my; char b1[10]; int b2[10]; int i; for(i=0
Time of Update: 2018-12-04
剛開始自學C#,昨天練習串連、查詢資料庫,把實現的代碼放在這裡,怕自己忘了,哢哢~用到組件:System.Data.SqlClient.SqlConnectionSystem.Data.SqlClient.SqlDataAdapterSystem.Data.SqlClient.SqlCommandSystem.Data.DataSet說明:SqlConnection串連資料庫SqlCommand執行查詢SqlDataAdapter通過SqlCommand獲得結果,結果放在DataSet中配置部分
Time of Update: 2018-12-04
最近想惡補下英語,找了很多MP3播放軟體,但是沒有哪個能按照句子播放時間來播放聲音的,想想自己學習過的WinForm,為什麼不自己寫一個程式呢?一個想法出現在腦海中,說幹就幹,花了一天時間,先研究了一下LRC檔案的結構,windows media
Time of Update: 2018-12-04
哎~無語啊 很多東西拆開來我認識,和在一起就不認識了。還是老老實實做筆記,積累學習吧。今天 自己有理了一下概念。這些簡單的東西是為了讓自己養成一種習慣。 類 ,不用說啦 一群有共性事物的抽象;對象是類的執行個體;引用是 對 對象的索引;屬性是類的特徵;方法是類的行為;包 就是命名空間。 Eg:有頭有手腳(屬性)會走路(方法)的這些個東西稱為人(類);小明(對象)是人(類);小明這個名字(引用)無人不知道;中國人(包)外國人(包)都是人(類); 多態嘛
Time of Update: 2018-12-04
如何讓鍵盤控制picturebox。1.選中Form,查看屬性:keyPreview設定成true;2.選中Form,查看事件(屬性旁邊的閃電符號):在keyDown事件處雙擊,進入代碼編輯 private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Left: { pictureBox1
Time of Update: 2018-12-04
C#寫檔案處理操作在很多的開發項目中都會涉及,那麼具體的實現方法是什麼呢?這裡向大家介紹三大方法,希望對你在開發應用中有所啟發。首先C#寫檔案處理操作必須先匯入命名空間:using System.IO; C#寫檔案方式一:用FileStream//執行個體化一個儲存檔案對話方塊 SaveFileDialog sf = new SaveFileDialog(); //設定檔案檔案類型 sf.Filter = "txt檔案|*.txt|所有檔案|*.*";
Time of Update: 2018-12-04
0, 環境 Windows XP 32bit / Windows 7 32 bit1, 下載Borland C++3.1 http://download.csdn.net/detail/g360883850/24152122, 下載uCOS-II源碼 http://download.csdn.net/detail/wzq_sun/35942403, 安裝Borland C++3.1 預設安裝就行,比如安裝在 C:\BORLANDC4,
Time of Update: 2018-12-04
前言: 在校學習c#也有段時間了,也達到了所謂的簡單程式會編,稍微複雜點的程式編起來有點費力,再複雜的程式就望而卻步的水平,算是入門級水吧!徘徊於菜鳥級水平的我朝思暮想著能編寫一款屬於自己的NB程式,一款能供無數人使用的軟體!但心急吃不了熱豆腐,我還是乖乖打好基礎再說吧,勿以小而不為,學這個不能浮躁,一步一個腳印還是必須的! 正題:打磚塊小遊戲之構思篇
Time of Update: 2018-12-04
Q:C#TextBox控制項只允許輸入數字,否則無法輸入。refer:http://bbs.csdn.net/topics/390541202A://正則判斷是否輸入的是數字private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ string inputText = textBox1.Text + e.KeyChar; e.Handled = char.IsPunctuation(inputText[0]
Time of Update: 2018-12-04
以下來自新浪部落格的轉載:1:為何不提倡使用goto語句?淵源(來自wikipedia):GOTO是一條可以在許多電腦程式設計語言中找到的語句。它是英文單詞go和to的組合。當執行這條語句的時候,它將控制流程程無條件地轉到另一條語句(也叫"跳轉")。跳躍陳述式需要指明標記,在不同語言中,標記可以是標識符或行號。在機器碼層級,goto是一種分支的形式。在一些語言中,可以不用顯示地使用goto關鍵字而實現同樣的功能,例如break或continue關鍵字可以跟隨一個標識符。SNOBOL語言支援一種語
Time of Update: 2018-12-04
•const:常量限定修飾符,它把一個對象轉換為常量(constant)。const對象必須初始化而且是在定義的同時。初始化後的const對象(或指標)是不能修改的。例1:int i = 0;const int j = 0; // int const j = 0;const int *p; // int const *p ;可改變p但不能改變*pint* const p = &i; //可改變*p但不能改變p const int * const p = &i; //
Time of Update: 2018-12-04
簡介 對於很多初學者來說,往往覺得回呼函數很神秘,很想知道回呼函數的工作原理。本文將要解釋什麼是回呼函數、它們有什麼好處、為什麼要使用它們等等問題,在開始之前,假設你已經熟知了函數指標。 什麼是回呼函數? 簡而言之,回呼函數就是一個通過函數指標調用的函數。如果你把函數的指標(地址)作為參數傳遞給另一個函數,當這個指標被用為調用它所指向的函數時,我們就說這是回呼函數。 為什麼要使用回呼函數?
Time of Update: 2018-12-04
Pyton和C分別有著各自的優缺點,用Python開發程式速度快,可靠性高,並且有許多現成模組可供使用,但執行速度相對較慢;C語言則正好相反,其執行速度快,但開發效率低。為了充分利用兩種語言各自的優點,比較好的做法是用Python開發整個軟體架構,而用C語言實現其關鍵模組。本文介紹如何利用C語言來擴充Python的功能,並輔以具體的執行個體講述如何編寫Python的擴充模組。Python是一門功能強大的進階指令碼語言,它的強大不僅表現在其自身的功能上,而且還表現在其良好的可擴充性上,正因如此,
Time of Update: 2018-12-04
之前做網站裡模組的列表,最開始用的截取方法很簡單、用的string的length屬性。判斷和定義的長度比較,超過則截取,並加上自訂尾碼"...",沒超過則完整顯示。這樣的問題是中英文占字元不同而造成截取後長短不一。後來想到的是通過css截取,給定width,並設定overflow:hidden。這樣截取的比較齊整勒、可是一旦中英文字串的長度和定義width有一些誤差。標題中的漢字很容易被切割只顯示左側一部分勒,顯示上也不夠,所以就想到改善最初的截取方法。改自CSDN裡的一個文章。代碼如下: