筆者在實際工作中經常用Excel表做資料報表,大多數表格的資料都要從資料庫中讀取,這樣我就用C++Builder做了一個報表程式,方便了很多,現在把它共用給C++Builder愛好者們,就算為豐富C++Builder的文檔資料做點事情吧。首先把Excel報表檔案儲存到一個指定目錄下,最好放在可執行程式的子目錄下,作為模板檔案。可以把報表標題、表頭等設定好。這裡是儲存在trpt子目錄下。然後建一個report目錄,作為報表目標檔案夾,存放填好資料的報表,可以由使用者直接操作。首先確定在你的機器中裝
網上我最喜歡的技術文章是類似某何君所著“CVS快速入門”或者“UML reference
本文目的是實現一個實用的對C++類計數的類,同時在實現過程中指出一些容易為人忽視的C++知識。要實現一個類的對象(執行個體)計數,即程式運行中此類有多少個對象存在,最容易的實現方法是使用待用資料成員。如下:class Widget {public: Widget() { ++count; } Widget(const Widget&) { ++count; } ~Widget() { --count; } static size_t howMany() { return
這一篇文章開始講述如何?一個進階語言的指令碼引擎了。由於工程量較為龐大,因此將分開幾篇文章講。學習做指令碼還是要從簡單的東西做起的。上一篇文章介紹的命令指令碼為實現進階語言的原理做了鋪墊。首先,進階語言和低級語言指令碼的架構是一致的。其次,為了具有較大的最佳化的空間,我們將把進階語言轉換成低級語言,並配合一個低級語言的指令碼引擎來實現進階語言的指令碼引擎。當然,習慣上,在這種情況下我們把低級語言叫『指令』。在這個階段,我們實現的這門語言是非惰性計算的、弱類型的、僅支援基本類型、數組和函數指標的語
#include<stdio.h>void main(){double x,y;char *ch[]={"零","壹","貳","三","肆","伍","陸","柒","捌","玖"};char
int i = 3;i = i++;cout << i;結果是什嗎?有人可能會說是3,也有人可能會說是4,更多的人在罵出題的人白癡,但這語句究竟有何問題呢?未必每個人都清楚。有些人也許馬上會說,這是“未定義行為”。沒錯,這是一個典型的未定義行為。i =
本文適合初級讀者Chuck Allison 是鹽湖城聖 Latter Day 教堂總部下耶穌教堂家族曆史研究處的軟體體系設計師。他擁有數學學士和數學碩士學位。他從1975年起開始編程,從1984年起他開始從事c語言的教學和開發。他目前的興趣是物件導向的技術及其教育。他是X3J16,ANSI C ++標準化委員會的一員。發送e-mail 到 allison@decus.org,或者撥打到電話到 (801)240-4510
在下列函式宣告中,為什麼要同時使用*和&符號?以及什麼場合使用這種聲明方式?void func1( MYCLASS *&pBuildingElement
代碼如下:#include <stdio.h>#include <signal.h>#include <errno.h>/*static volatile atomic variable*/static volatile sig_atomic_t sigflag = 0;/*private signal control handler*/static void TurnFlag(int no){sigflag = (sigflag == 0) ? 1 : 0;
摘要本文描述了C++中的各種多態性。重點闡述了物件導向的動態多態和基於模板的靜態多態,並初步探討了兩種技術的結合使用。關鍵詞多態 繼承 虛函數 模板 宏 函數重載
Java的愛好者們經常批評C++中沒有提供與Java類似的廢料收集(Gabage Collector)機制(這很正常,正如C++的愛好者有時也攻擊Java沒有這個沒有那個,或者這個不行那個不夠好),導致C++中對動態儲存裝置的官吏稱為程式員的噩夢,不是嗎?你經常聽到的是記憶體遺失(memory
本人在用C++/VC++編程時,遇到的一些比較難以解決的問題,在經過百思得其解之後,總結了一些解決方案,希望這些經驗之談能對大家有所協助。1、[VC問題] 編輯框內的換行?答:假設要在編輯框內輸出"12345\n6789"。首先要設定編輯框的Multiline屬性為TRUE,在輸出時,除了要加\n,還要有\r。也就是說,如果要12345和6789在兩行顯示,需要輸出12345\r\n6789。代碼如下:m_strData =
#include <stdlib.h> //Required for atoi()#include "..\winsock.h" //Winsock header file#define PROG_NAME "Quick FTP Version 1"#define HOST_NAME "NIC.DDN.MIL " // FTP server host#define PASSWORD "PASS guest\
摘要:串口是常用的電腦與外部串列裝置之間的資料轉送通道,由於串列通訊方便易行,所以應用廣泛。本文介紹了在C++ Builder中如何利用串列通訊控制項進行串列通訊編程。一、引言目前,在用電腦進行資料轉送時,常用的是串列通訊方式。用C++ Builder來編寫串列通訊程式時,可以調用Windows API函數,也可以利用VB中的MSComm控制項。 利用
1.是不是一個父類寫了一個virtual 函數,如果子類覆蓋它的函數不加virtual ,也能實現多態?virtual修飾符會被隱形繼承的。private 也被整合,只事衍生類別沒有存取權限而已virtual可加可不加子類的空間裡有父類的所有變數(static除外)同一個函數只存在一個實體(inline除外)子類覆蓋它的函數不加virtual ,也能實現多態。在子類的空間裡,有父類的私人變數。私人變數不能直接存取。-----------------------------------------
作者:劉勉剛 E-mail:liumgj@163.com觀察者模式是應用非常廣泛的設計模式之一,前面已經用C#實現了,下面是C++的實現,在C++實現中,C++中沒有介面的概念,但是可以用抽象類別類代替Java或C#中的介面,在C++中抽象類別中從衍生類別中抽象出來的函數(方法),必須定義成純虛函數,這樣在後面的使用中才可以通過基類的指標來訪問這些函數,物件導向的語言中有個特點,多態只能訪問兩者中共有的部分。#include#include#includeusing namespace std;
在使用C++編程的過程當中,常常需要對類成員進行初始化,通常的方法有兩種:第一種方法:CMYClass::CSomeClass(){ x=0; y=1;}第二種方法:CSomeClass::CSomeClass() : x(0),
有下面的一個簡單的類:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};int CNullPointCall::m_iStatic = 0;void CNullPointCall::Test1(){ cout <
目錄1 初識STL:解答一些疑問1.1 一個最關心的問題:什麼是STL1.2 追根溯源:STL的曆史1.3 千絲萬縷的聯絡1.3.1 STL和C++1.3.2 STL和C++標準庫1.3.3 STL和GP,GP和OOP1.4 STL的不同實現版本1.4.1 HP STL1.4.2 P.J. Plauger STL1.4.3 Rouge Wave STL1.4.4 STLport1.4.5 SGI STL2 牛刀小試:且看一個簡單常式2.1 引子2.2 常式實作2.2.1
深入理解並應用C51對標準ANSIC的擴充是學習C51的關鍵之一。因為大多數擴充功能都是直接針對8051系列CPU硬體的。大致有以下8類:8051儲存類型及儲存地區,儲存模式,儲存空間型別宣告,變數型別宣告,位變數與位定址,特殊功能寄存器(SFR),C51指標l函數屬性具體說明如下(8031為預設CPU)。第一節KeilC51擴充關鍵字C51V4.0版本有以下擴充關鍵字(共19個):_at_idatasfr16alieninterruptsmallbdatalarge_task_Codebitp