第一篇:VC入門的一條路[推薦]
VC入門的一條路
首先聲明,我可不是什么高手,也就是剛脫貧。因為運氣很好,買到了幾本好書,在學(xué)習(xí)過程中幾乎沒走什么彎路,沒費什么勁就入門了,現(xiàn)在一般的小程序能搞定了??吹侥切┮驗椴恢獜暮蜗率侄嗫鄴暝呐笥?,希望我的文章能給他們一些幫助。
學(xué)編程急不得,上來就學(xué)VC肯定碰一頭灰,說VC難就難在這點上了。如果硬上,意志堅強的話也許能挺過來,但也是會缺乏后勁,不得不回過頭來補習(xí)基礎(chǔ)知識。意志不堅強的話,很有可能就此放棄了,并留下一個VC難得不得了的印象。其實,只要踏踏實實一步一步來,VC也就是很簡單點事。在這里我說一下,如果你還只是一個初中生,那么你就應(yīng)當(dāng)仔細(xì)考慮一下了。首先,限于你的知識和思維能力,學(xué)學(xué)C語言還應(yīng)該沒問題,但要學(xué)VC是要下相當(dāng)大的功夫的。而且,你現(xiàn)在學(xué)到的東西將來一定會過時,所以不如把精力放在算法的研究上,畢竟這些東西永遠(yuǎn)都不會過時。
我覺著如果走對路子,入門VC,一個暑假應(yīng)該夠用了。???
雖說學(xué)VC并不是傳說的那么難,可不下些苦功夫是學(xué)不成的。在學(xué)VC前,你必須確定,你是因為熱愛編程才學(xué)VC的,而不是出于炫耀或其他。否則,恐怕你堅持不到勝利的那一天。
對于首次接觸編程的同學(xué),我建議最好先學(xué)一下Quick BASIC(DOS里就有帶,就是那個QBASIC.EXE),不用多學(xué),知道什么是整型什么是浮點,以及DO...LOOP FOR...NEXT 等最基本的知識,能算個階乘,求個積分就行了,關(guān)鍵要明白計算機是怎么執(zhí)行命令的,對編程有個感性認(rèn)識。如果你對自己有自信,也可以直接學(xué)C++,應(yīng)該也不會多費太多事。不過我覺著因為有很多資料是FOR VB的,并且網(wǎng)頁編程常用VB Script,以后你也很有可能要用到VB,所以了解一些BASIC對以后也是有幫助的。而且如果只是要算個小題用QB比VC、VB之類方便多了。(找個人教一兩天應(yīng)該就能搞定了吧)
之后我建議找本初高中信息學(xué)奧賽的書(有些奇怪吧)。這些書里講解了基本的算法,寫的卻比較通俗,沒什么高深的數(shù)學(xué)知識,容易理解。這些東西在數(shù)據(jù)結(jié)構(gòu)課程中有系統(tǒng)嚴(yán)密的講解,所以也可等以后再學(xué)。但我覺著現(xiàn)階段寫一些小程序,實現(xiàn)些常用算法對自己的思維是很好的鍛煉,對以后的學(xué)習(xí)大有好處。我想,能排排序,求個八皇后,算個漢諾塔,再知道深、廣度優(yōu)先搜索就可以了。
如果你已經(jīng)有一些編程的基礎(chǔ)知識了,自然就可以跳過以上兩步。
等你對編程有一定的認(rèn)識后,就應(yīng)該開始進(jìn)軍C++了.注意,是C++而不是VC,這兩者根本不是一碼事!別買VC入門,你肯定看不懂!C++是一門語言,而VC教程則是講解如何使用MFC類庫,學(xué)習(xí)VC應(yīng)建立在充分了解C++的基礎(chǔ)上。
我覺著比起許多花花綠綠的大全、寶典,不如買本大學(xué)的C++教程(注意:別買等級考試的教程,那是應(yīng)試用的),那些教程大都經(jīng)過反復(fù)錘煉,比較系統(tǒng),很有含金量,有不會太貴。這里我暴力推薦由清華大學(xué)出版社出版的一本《C++程序設(shè)計教程》,封面是紅色的,封底是黃色的,看起來很樸素,主編是錢能。這本書簡直是好的沒法說,還便宜(39.5 1
元)。這本書不但告訴你語法,還告訴你為什么要這樣規(guī)定語法,看完之后,你會覺著那許許多多的規(guī)定是理所當(dāng)然的,根本不用費心記,不但不枯燥,反而會使有一種美感。書中還有許多實際編程時應(yīng)注意的問題,很有價值。這本書還配有《實驗指導(dǎo)》,和《習(xí)題集》,不過對于有一定編程經(jīng)驗的人應(yīng)該是用處不大,所以我沒買。除了這本書,我建議再買本關(guān)于傳統(tǒng)C語言的書,要著重以下幾個方面:編譯預(yù)處理、typedef的使用,位運算,標(biāo)準(zhǔn)庫函數(shù)的使用(最好有一個比較詳細(xì)的列表,用的時候好查)。
C++的標(biāo)準(zhǔn)類模板是個不錯的東東,不過對于學(xué)習(xí)MFC卻沒有幫助,原因是MFC太落后了(^_^),可以先放一放,要不要學(xué)等搞定MFC時再作決定。雖然我沒怎么學(xué)過,不過覺著它挺不錯,而且代表了一種發(fā)展方向。雖然學(xué)著費勁(那東西幾乎沒一點C++的樣子,簡直是在學(xué)新語言),但掌握它可使編程輕松不少。
學(xué)完了C++,該學(xué)VC了吧?別急,先找本W(wǎng)IN32編程的書,這次沒什么講究,看著差不多的,便宜一些的就行了,如果有對于VC集成環(huán)境的介紹就最好了。WIN32編程是指用WINDOWS API編程,MFC是將眾多的API函數(shù)進(jìn)行了封裝的類庫,用起來方便了不少,但如果沒有一些API編程基礎(chǔ),對相關(guān)概念不了解,學(xué)起MFC來可能會很費解。相信我,將來你不會覺著學(xué)API編程是浪費時間的。API函數(shù)有兩千多,要都學(xué)會累死。其實你只要知道如何創(chuàng)建窗口、對話框、控件、消息循環(huán),了解了句柄的含義就差不多了,最好再了解一點GDI編程。這個階段的關(guān)鍵是要理解WIN32程序是如何運作的,把握各種窗口間的關(guān)系。因為你以后應(yīng)該很少直接用WIN32 SDK編寫程序,所以關(guān)鍵是理解整體結(jié)構(gòu),記住幾個函數(shù)并沒有什么意義。函數(shù)用的時候可以現(xiàn)查。手頭應(yīng)有一份比較全面的資料。中文的API函數(shù)大全好像只有For VB的,不過看起來應(yīng)該是沒有任何障礙。英文的資料MSDN中就有,相當(dāng)全面,也比中文的詳細(xì)一些。我建議用中文資料快速查找,有問題再看英文。(我忘了我的html版中文API大全是從哪下載的了,不過書店有售,白皮的,很厚一本,很貴就是了。誰想要可以與我聯(lián)系iamsor@sohu.com)
對于想學(xué)游戲編程的朋友注意:從現(xiàn)在起,你不必去學(xué)什么MFC了,相信我,那東西除了讓你頭疼一點用處都沒有。游戲都使用Win32 SDK編出來的?,F(xiàn)在,你要學(xué)的是DirectX。我推薦老王翻譯的DirectDraw文檔(),前面有一些老王自己寫的基礎(chǔ)知識,很適合入門,在此特別感謝老王的辛勤勞動。我還買了一本《DirectX 7 速成教程》,機械工業(yè)出版社出版,封面封底都是紅色。除了翻譯慘了點還算不錯,介紹的挺全面,還有一些游戲編程基礎(chǔ)知識。如果你想圖省事,可以考慮用云風(fēng)編寫的風(fēng)魂游戲庫,很方便的(對云風(fēng)的辛勤勞動表示感謝).不過我仍然建議至少了解一下DirectX.這里說一下,很多朋友抱怨找不到有關(guān)DirectX的書籍,我告訴你,別去編程書籍里找,去多媒體制作書籍那找,還要把眼睛瞪得大大的、圓圓的。Director..Director..DirectX!!知道了吧,書店工作的人眼神都不大好,我也是有一天沒事瞎轉(zhuǎn)才發(fā)現(xiàn)的,嚇了我一大跳。發(fā)現(xiàn)這個秘密后我發(fā)現(xiàn)其實有不少關(guān)于DirectX的書,只是一般人找不到罷了。學(xué)會了DirectX,就可以開始奮斗了,剩下的問題就只有積累經(jīng)驗了。
對于志向是應(yīng)用軟件的朋友,打好了基礎(chǔ),現(xiàn)在進(jìn)軍VC的障礙都已掃清了。不過還是應(yīng)做好充分的思想準(zhǔn)備,事情不會那么順利的。剛開始,你就要面對一個瓶頸,大量的緊密關(guān)聯(lián)的知識,使你必須一下理解一個整體,而很難一點點來。可以說,學(xué)VC最難的就是剛開始。情況有些類似于你第一次創(chuàng)建窗口時面對的那長長的程序,只不過更糟糕就是了。很多人就是在此被一大團(tuán)知識噎著,放棄了學(xué)習(xí)。事實上,這幾乎是Windows編程的一大特點,在WIN32編程時你就應(yīng)當(dāng)有所體會,而DirectX和COM都有類似問題。記住,一定要堅信:突破了這個瓶頸之后便是一片海闊天空,而有著扎實基礎(chǔ)的你是一定能闖過
去的。
我的建議是,不要等徹底弄明白一句才看下一句,而是知道好像怎么回事就向下看,實在看不懂也硬著頭皮往下看,等能比貓畫虎的作出個菜單、對話框時便回過頭再看一遍,幾遍之后應(yīng)該就可以大概明白MFC程序的運作了。注意:這里有個關(guān)鍵,一定要用心體會面向?qū)ο缶幊痰木?,努力將眼前的程序與你之前所學(xué)的知識聯(lián)系起來。通過比較成員函數(shù)和對應(yīng)的API函數(shù)間的區(qū)別,嘗試去理解MFC是怎樣封裝相關(guān)的API的。例如,相當(dāng)多的類將句柄封裝了起來,在傳遞參數(shù)時加以省略,這就是一個很重要的特性。MFC中有許多的宏,看起來很奇怪,但你不必理會其實現(xiàn)方法,只要知道如何使用便可,這點也很重要。還有,千萬不要過于依賴ClassWizard,對于其生成的代碼要自己進(jìn)行分析,偷懶就不能真正理解MFC。
這里我介紹一種學(xué)法,不過學(xué)法這種東西因人而異,所以還要根據(jù)個人的情況決定。開始時,教程讓怎么辦就怎么辦,比貓畫虎的作出個菜單、對話框,然后試著添加控件。等能不看教程便做到這些時,開始逐字逐句的試著理解MFC程序的組織。若看不懂就跳過看下面的。就這樣一遍一遍來。如果覺著頭大就先歇上兩天,等清醒了再接著來.最好在這期間多找些介紹MFC框架的文章。注意:先不要碰有關(guān)文檔/視結(jié)構(gòu)的東西,否則你會更頭大。然后便可試著寫個定時器、名片夾之類的小東西,熟悉一下各種控件的使用。
突破了開始的瓶頸之后再學(xué)下去便會越學(xué)越容易,因為你可以一點一點的積累知識,而不用擔(dān)心被噎著了。再過不久,你就不得不開始使用API函數(shù)完成一些功能,如在系統(tǒng)托盤加圖標(biāo),自畫列表框等。這時,你也會體會到學(xué)習(xí)WIN32編程的好處了,沒學(xué)過的人很可能就此卡殼。
關(guān)于VC的教程遍地都是,但魚龍混雜,市場烏煙瘴氣,騙錢的書真不少。有些書很厚,內(nèi)容當(dāng)然也很全,對老鳥很不錯,但對于初學(xué)者似乎有些浪費錢,因為里面絕大部分的東西MSDN中都有,并且初學(xué)者用不著。老外寫的書一般內(nèi)容不錯,但翻譯水平是個問題。如果翻譯糟糕可夠你受的,加上價格不菲,我也不建議初學(xué)者買。還有些什么傻瓜書、圖解之類,好像是面向初學(xué)者,時則為騙錢,你看完后除了那幾個例子什么也不會作。如果你看到有一本書花了大量的篇幅圖文并茂,生動形象的介紹如何畫圖,輸出文字,別買!騙錢的?。?-< 我就被坑去42塊現(xiàn)大洋)那些花哨的東西對初學(xué)者除了轉(zhuǎn)移注意力沒任何好處。如果你真的對GDI繪圖很感興趣,就去找些專門書籍,比那些書好多了。最好買名字類似于VC應(yīng)用,VC編程之類比較正式的,圖不要太多的,字不要太大的,最好是有較多的控件介紹的。當(dāng)然,文字流暢也是很重要的。書不要買太多,最多兩本,因為這些書內(nèi)容都差不多,買多了的話東看西看反倒沒好處。在這里,我建議初學(xué)者先別急著掏錢,而是去VC王朝(http://vcdynasty.yeah.net/)下載本MFC教程。雖說是網(wǎng)上教程,卻當(dāng)相當(dāng)有水準(zhǔn)。不但內(nèi)容比較全面,還一句廢話也沒有(這里感謝作者的辛勤勞動)。只是可惜對GDI沒有一點介紹,還須其他書籍作補充。等搞定這本教程時,應(yīng)該就已經(jīng)入了門,可以有針對性的選購書籍,不用擔(dān)心上當(dāng)受騙了。還有,VC知識庫()的網(wǎng)上雜志也很不錯,對剛?cè)腴T的人很有幫助,建議下載。入了些門后,各個網(wǎng)站多轉(zhuǎn)轉(zhuǎn),看見好文章就往下拉,對提高水平很有好處。
一套MSDN光盤在這時是必不可少的,什么都找中文資料是不可能的,即使能找到也會很費時間和金錢,只能看硬著頭皮英文。不過以我的經(jīng)驗看,只要有高中水平的英語,加上金山詞霸一路滑過去,看那種專業(yè)文章還是很容易的。還有,初學(xué)者一上來可能根本不知道上哪找需要的東西,我在這里把常用的地方列一下:
WIN32 API:平臺SDK->Reference->Win32 Functions in Alpha Order
MFC類庫資料:Visual C++ Documentation->Reference->Microsoft Fo...C/C++語言及標(biāo)準(zhǔn)庫資料:Visual C++ Documentation->Reference->C/C++...標(biāo)準(zhǔn)控件:標(biāo)準(zhǔn)控件都被MFC封裝了,可以參考對應(yīng)的類,如Edit控件對應(yīng)CEdit類.VC中帶的ActiveX控件:Visual Basic文檔->參考->控件參考(唯一的中文資料,卻是最糟糕的。不但是For VB,與C++有很大區(qū)別,還翻譯得亂七八糟,幾乎沒法用.如有高手知道哪有英文資料還請告知,不勝感激)
目前市面上的MSDN光盤已經(jīng)有一段歷史了,有些東西可能有些過時。要最新資料的話,可以到微軟的網(wǎng)站(當(dāng)然是全英文的)。不過對于初學(xué)者似乎沒有必要。
搞定VC后,要學(xué)什么都隨你便了,再學(xué)C++Builder,VB,Dephi,java什么的都是一點難度都沒有了,感覺就象是把關(guān)鍵字換了換?;蛘呖梢匀タ锌蠧OM,據(jù)說那是塊硬骨頭(不過好像也只是入門難,因為有了之前的經(jīng)驗,雖然我沒碰過,但花點時間應(yīng)該是搞得定的。另外DirectX編程經(jīng)驗在此應(yīng)該是有些幫助的)。
最后,我建議有時間的話多研究一下各種算法。數(shù)據(jù)結(jié)構(gòu)是一定要看的。不一定要記?。ㄔ捳f回來,不經(jīng)常用的話也記不住),但至少要知道有那么回事,萬一碰到問題了要知道往那邊靠。其實,常見的鏈表等結(jié)構(gòu)以及排序等算法在C++標(biāo)準(zhǔn)類模板中已經(jīng)實現(xiàn)了,不用你去費勁,但有些了解的總是有好處的。至于離散數(shù)學(xué)、線性代數(shù)什么的,對于復(fù)雜些的算法是必需的,其中離散數(shù)學(xué)是數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。不過,我倒覺著只要不是太復(fù)雜的問題只用經(jīng)驗也能解決(就象奧賽書中那樣,只是實現(xiàn)而沒有證明),而且那些東西不用就會忘。萬一碰見個難題解決不了,找個高手幫忙也不錯,省時省力^_^。
下面是我想到的一些雜七雜八的問題,沒什么條理,湊或看吧:
英語水平不用很高,但至少要有高中水準(zhǔn),否則有你受的。
看書一遍看不懂沒關(guān)系,事實上,要一遍就能弄懂你就很有天分了。只要多看幾遍,綜合分析,應(yīng)該是沒有什么問題的。
現(xiàn)在的世道,不是書到用時方恨少,而是書到用時方能學(xué)。不要試圖滿把抓,而要用到什么學(xué)什么。這樣,學(xué)的又快,記的又牢。
一個錯誤認(rèn)識-學(xué)編程靠的是記憶:這是很要命的思想,會讓你累死而無所得。事實上,你幾乎不用特意記任何東西。對于各種函數(shù)、語句,只要知道有那么個東西,用的時候知道上哪找就行了,用多了自然就記住了。學(xué)編程關(guān)鍵在理解編程思想。
一個小技巧:活用編譯器可以幫你很多忙。在VC中,當(dāng)你輸入成員符號.或->時,程序會自動列出此類的成員,你只要選一個就行了。這樣便省了很多記憶負(fù)擔(dān)。例如,你想獲得一個CString類對象的長度,對應(yīng)方法肯定是Get什么,但是GetLetterNum還是GetStrLength卻不知道,你可以輸入xxx.Get,這樣,你便可從列表中找到一個GetTextLength(),不是這個還能是什么,單擊它的話還可能出現(xiàn)說明。還可避免打錯字。如果想調(diào)用本類的成員函數(shù),就輸入this->,就可以查看成員列表了。對于全局函數(shù),則是輸入::即可。這樣的話看起來還清楚。還有,如果沒有出現(xiàn)那個列表,八成是你弄錯了什么東西,例如變量沒定義,或打錯了字,但也可能是VC的BUG,很少就是了。對于初學(xué)者,這可是很好用的功能。
初學(xué)編程應(yīng)遵循的一條原則:比貓畫虎、不求甚解。關(guān)鍵在于很多東西你就甚解不了,例如MFC中稀奇古怪的宏。而且,甚解了也沒太大的好處,暫時還是不要管它,會用就行了,什么時候有了閑工夫再來慢慢琢磨。多留心別人的程序是如何實現(xiàn)的,并照著去做。
有時,一些小問題也體現(xiàn)著高深的思想。比如,一個變量要定義在什么地方,如何組織類的結(jié)構(gòu)。如果不太明白,就先找著別人的樣子去作,時間一長就會自然而然的明白,這就像下棋一樣,老頭怎么下,你也跟著怎么下,畢竟他出錯的可能比你小。
還有,我覺著初學(xué)者不應(yīng)把過多的精力放在象Cool的工具條,透明的、氣泡狀的窗口之類的工作上。再搞這些之前,你最好問問自己,自己的程序配得上這些漂亮的界面嗎?尤其是,千萬不要在剛開始動手時就先打扮界面,以免界面也弄好了,熱情也沒了。畢竟,看在眼里的成果給人的刺激比枯燥的算法強得多。如果你想搞的話,也要等程序主體定型后再搞。
初學(xué)時還應(yīng)多留心關(guān)于程序結(jié)構(gòu)組織的文章,這些東西是很重要的。要從一開始便養(yǎng)成良好的風(fēng)格。否則有一天當(dāng)你決定編一個大點的程序時,你就會發(fā)現(xiàn)干到一半就干不下去了。
編程不是技術(shù)活,而是體力活:學(xué)的時候滿腦子全是技術(shù),可用的時候就真成了體力活了。真正做起東西來,最重要的是要有毅力堅持到完。意志不堅強就難免半途而廢。
關(guān)于初學(xué)者是該學(xué)VC還是該學(xué)VB的問題:我覺著,學(xué)VC會難一些沒錯,但掌握學(xué)習(xí)方法的話也沒想象的那么難,而且學(xué)VC才能深刻領(lǐng)會面向?qū)ο缶幊痰木琛K鼓愕乃枷胩嵘艘粋€高度,對以后的發(fā)展是大有好處的。再說,如果這點困難都克服不了,以后也很難有什么作為。所以,即使你打定主意用VB,也還是花些時間看看VC,至少知道它的大概結(jié)構(gòu)。從長遠(yuǎn)看,這是很有好處的。
關(guān)于學(xué)C++ Builder還是Visual C++的問題:也許VC真的不太好,但總不會太糟??申P(guān)于VC的資料不知是關(guān)于C++ Builder的多少倍。尤其對于初學(xué)者,這時很要命的!何況兩者相差其實并不太多,學(xué)會了一種,再學(xué)另一種也不會太費事。
呵,沒想到說了這么多。我已經(jīng)聲明了,其實我也就是剛?cè)腴T,以上一切都是我自己的感受,難免有錯誤,還請高手指正。另外,這是我第一次寫文章,加上我語文很糟糕,其實就是想到哪寫到哪,各位就湊或一下吧。
學(xué)習(xí)過程:
1、編成語言:CVC6.0
同時了解基本算法;熟悉編程環(huán)境;
建議在字符環(huán)境下學(xué)習(xí)編程語言
2、Win32APIVC6.0
推薦書: 《Windows程序設(shè)計》上冊
了解Window程序運行原理
3.C++VC6.0
字符環(huán)境下學(xué)習(xí)
理解面向?qū)ο蟮幕舅枷?/p>
4、MFC
推薦書: 《MFC深入淺出》、《Visual C++ 技術(shù)內(nèi)幕》
了解基本原理,不用很熟練
5、C#、.Net、Visual C#;Delphi; C++ Builder
推薦書: 《C#入門經(jīng)典》
其它:
數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)庫原理(數(shù)據(jù)庫程序)、計算機網(wǎng)絡(luò)(網(wǎng)絡(luò)程序)、計算機圖形學(xué)(三維圖形程序)
第二篇:VC課程設(shè)計報告
編號:
河北工業(yè)大學(xué)計算機軟件技術(shù)基礎(chǔ)(VC)2007年課程設(shè)計報告
學(xué)院 班級 姓名 __ 學(xué)號 ____ 成績 __ ____
一、題目:查找滿足特定條件的三位數(shù)(27)
二、設(shè)計思路
1、總體設(shè)計 1)分析程序的功能
2)系統(tǒng)總體結(jié)構(gòu):設(shè)計程序的組成模塊,簡述各模塊功能。
2、各功能模塊的設(shè)計:說明各功能模塊的實現(xiàn)方法
3、設(shè)計中的主要困難及解決方案
在這部分論述設(shè)計中遇到的主要困難及解決方案。1)如何將輸出1~9不重復(fù)數(shù)字 2)困難2
4、你所設(shè)計的程序最終完成的功能 1)說明你編制的程序能完成的功能 2)準(zhǔn)備的測試數(shù)據(jù)及運行結(jié)果
三、程序清單
如果是使用一個文件完成的程序,只需列出程序代碼。
如果是使用多文件完成的程序,首先說明程序中的代碼存放在哪些文件中,說明文件名(例如:本程序包含first.cpp、second.cpp、third.cpp和all.h四個文件);然后依次給出每個文件名及該文件清單,例如:
1、first.cpp文件清單
2、second.cpp文件清單
3、third.cpp文件清單
第1頁/共2 頁
編號:
4、all.h文件清單
(說明:程序清單中一定要有注釋。將程序中自己編寫的代碼列在此處,系統(tǒng)自動生成的代碼就不要列出了。程序清單部分的行間距設(shè)為1行即可。)
四、對該設(shè)計題目有何更完善的方案
1、對自己完成程序進(jìn)行自我評價。
2、對課題提出更完善的方案
五、收獲及心得體會
1、通過本次課程設(shè)計,自己在哪些方面的能力有所提高。
2、收獲和心得體會。
日期: 2007年
月
日
(說明:本模板只提供參考,每個同學(xué)根據(jù)自己課題的特點,可減少或增加某方面的論述)
第2頁/共2 頁
第三篇:VC類定義
VC++怎樣定義類對象
如果你定義了一個類(假設(shè)是A)那么聲明一個A的對象的方法就是:
A a;// a 就是一個A的對象
A *a;// a 就是一個A的對象的指針
A a[N];// a 就是一個A的對象的數(shù)組
A fuctionName();// 返回A的一個對象的函數(shù)
上面是說如何定義對象,下面說如何定義一個類
最基本的:(運用關(guān)鍵字class)
class A{
public://公有變量及函數(shù)(沒聲明是public,private,protected的都默認(rèn)為public,這個與Java是不同的,后者默認(rèn)為protected)(可以在任意位置被訪問)
......private://私有變量及函數(shù)(只能在類里面被訪問)
......protecte://受保護(hù)的變量及函數(shù)(可以在派生類中被訪問)
};//注意分號
一般構(gòu)造函數(shù),析構(gòu)函數(shù),復(fù)制構(gòu)造函數(shù)都是在public里被聲明的(不用我說什么是構(gòu)造函數(shù)(construct)和什么是析構(gòu)函數(shù)(destruct)了吧)。
更往深一層會有派生類,友元類,抽象類的概念。
派生類就是有一個已經(jīng)存在的類來derive一個新的類,一般新的類跟原來的是被包含與包含的關(guān)系(否則聲明一個派生類就沒什么意義)具體實現(xiàn)如下:
class A: public B{
......//跟一個普通的類沒什么區(qū)別
}
聲明一個友元類是這樣的:
class A: {
friend B
......}(A就成了B的友元類,友元函數(shù)的聲明也類似)
不過要注意到,友元函數(shù)、友元類的大量使用破壞了類里的數(shù)據(jù)及函數(shù)的穩(wěn)定性,或是可靠性。使得private類型的都可能被篡改。
最后抽象類:
它是通過虛函數(shù)來實現(xiàn)的,所謂虛函數(shù)就是加上virtual關(guān)鍵字在前面的函數(shù);含有虛函數(shù)的類就是抽象類,注意到如果要實現(xiàn)一個函數(shù)的動態(tài)綁定對象必須要以地址的形式來傳遞。好吧,短短幾句是不能把聲明類的注意事項說清楚的,太多了(像什么封裝,繼承,抽象)。不過,你只要多編寫多看書就會的。
第四篇:VC課程設(shè)計題目
VC++課程設(shè)計題目 B090110-12
(2012-04-23 – 2012-05-19)
前言:本課程設(shè)計分成自測題和綜合題兩部分。兩部分都列入驗收。
練習(xí)題:
共11道。內(nèi)容覆蓋主要基本技術(shù):基本的開發(fā)環(huán)境(調(diào)試技術(shù)),文件操作,動態(tài)鏈接庫,圖形圖像編程,多線程編程,控件開發(fā)等。
每個學(xué)生選擇5個完成,要求如下:
必做:1;
2,3選擇其一;
4,5選擇其一;
6-11選擇其二;
1. 基本環(huán)境調(diào)試
將例程1用VC++打開,修改錯誤使程序能夠運行。理解編譯錯誤,運行錯誤等。
2. 數(shù)據(jù)庫操作
通過ODBC數(shù)據(jù)源訪問數(shù)據(jù)庫(ACCESS),數(shù)據(jù)庫中保存以下內(nèi)容:
學(xué)生姓名,性別,年齡,家庭住址,電話,電子郵件,愛好等。
再以上基礎(chǔ)上進(jìn)行該記錄的讀出并可編輯瀏覽顯示。
3. 文件操作
寫一個檔案文件保存以下內(nèi)容:
學(xué)生姓名,性別,年齡,家庭住址,電話,電子郵件,愛好等。
再以上基礎(chǔ)上進(jìn)行該文件的讀出并可編輯瀏覽顯示。
4. 圖形編程
提供一個圖形工具界面,讓用戶能夠畫出直線,橢圓,多邊形等幾何元素,結(jié)果可以保存并可讀出。
5. 圖像顯示
編程加載顯示位圖文件(bmp)。實現(xiàn)多個位圖的疊加顯示效果。在此基礎(chǔ)上,實現(xiàn)動畫效果。
6. 字符串操作
能夠從磁盤上選擇打開文本文檔,讀入所有內(nèi)容并顯示,統(tǒng)計所有的字符數(shù)目,單詞數(shù)目,中文字符串的數(shù)目。
7. 多線程技術(shù)
目的:掌握多線程編程的基本概念,掌握用戶線程的編程方法和調(diào)試方法。
建立一個工程,主線程負(fù)責(zé)用戶交互,界面上提供一個按鈕,通過它用戶建立一個新的線程處理復(fù)雜的計算。多個線程可以共享內(nèi)存中的某些變量。線程可以中止,掛起。線程間需要同步。
8. 通信技術(shù)
利用套接字編寫雙機通信程序,從服務(wù)器接收GPS數(shù)據(jù)。協(xié)議內(nèi)容如下:
0xDB,緯度(4字節(jié)浮點),經(jīng)度(4字節(jié)浮點),時間(4字節(jié)CTime),速度(2字節(jié)整型),校驗(1字節(jié)異或),0xDB
在此基礎(chǔ)上,能夠在屏幕上顯示其位置和速度等信息。
把接收到的內(nèi)容進(jìn)行解析并且顯示。
9. 動態(tài)鏈接庫
目的:了解MFC 支持的三種動態(tài)鏈接庫:Win32DLL,MFC 常規(guī)DLL, MFC擴展庫。掌握封裝DLL的基本方法。
步驟:
新建三個不同的DLL工程;
分別封裝一些類和函數(shù);
新建一個測試工程對上述庫里的函數(shù)或類進(jìn)行調(diào)用;
封裝一個對話框類到DLL,并新建一個工程調(diào)用之。
10. 控件編程
利用ATL編寫一個控件,并寫一個測試程序進(jìn)行調(diào)用。
目的:掌握ATL控件的編寫方法,測試方法和調(diào)用方法。
步驟:
新建一個ATL工程;
添加ATL控件;
往接口里添加屬性和事件;
修改繪制代碼;
寫測試程序;
11. 多媒體數(shù)據(jù)采集
利用微軟的視頻,音頻采集API函數(shù),編寫一個能夠進(jìn)行圖像,音頻,視頻采集的程序。
綜合題:
1. 硬盤錄像機的制作
要求:
對外接USB接口的攝像頭的數(shù)據(jù)進(jìn)行采集,結(jié)果保存在硬盤上。能夠根據(jù)要求對文件進(jìn)行檢索,播放,備份,上傳。
*能夠架構(gòu)一個視頻流服務(wù)器,提供多人的基于IE的在線視頻瀏覽。
2. 數(shù)字存貯示波器的制作
要求:編程實現(xiàn)一個數(shù)字存貯示波器。示波器的蹤數(shù)1-10可變,示波器的數(shù)據(jù)采樣點可達(dá)1024。
示波器可以實現(xiàn)圖形以不同的形式顯示(如波形圖,柱圖等)。
示波器的橫向,縱向均可以用鼠標(biāo)進(jìn)行分辨率調(diào)整。
示波器提供文件接口,可以文件讀寫。
結(jié)果以DLL形式封裝。
創(chuàng)建一個客戶程序?qū)κ静ㄆ鬟M(jìn)行測試。
參考:SIMULINK的示波器。
3. 大地面積測量
要求:在文本文件中保存了一條封閉路徑的頂點的經(jīng)緯度數(shù)據(jù),計算由這條路封閉出的區(qū)域面積。
步驟:
(1)自行編輯三個不同大小區(qū)域的文本文件(區(qū)域范圍50KM,500KM,5000KM);
(2)生成一個單獨的對話框工程(項目);
(3)導(dǎo)入?yún)^(qū)域文件;
(4)函數(shù)說明 float Area(int nNum/*頂點數(shù)目:>=3*/, float* vX/*經(jīng)度*/, float* vY/*緯度
*/, char Coord=1/*坐標(biāo)系: 1 經(jīng)緯度 2平面坐標(biāo)*/);
(5)對于結(jié)果進(jìn)行誤差分析。
參考資料:地理坐標(biāo)變換算法(上網(wǎng)搜索)
測試方法:用MATLAB工具包函數(shù)可以進(jìn)行對比測試。
4. 文件編輯
創(chuàng)建一個多文檔工程,實現(xiàn)對于磁盤文件的瀏覽,編輯等功能。
能夠以文本文件,二進(jìn)制文件方式打開文件;
支持剪貼板功能;
支持搜索,查找,替換功能;
支持文件定位;
功能可參考:磁盤文件工具程序UltraEdit。
5. 個人簡歷
創(chuàng)建一個個人簡歷程序,能夠編輯自己的個人資料,添加自己的相片集進(jìn)行瀏覽,具有保存,打印等功能。
6.文字聊天室
做一個基于點對點的聊天程序。同時具有客戶端和服務(wù)器功能。
字體顏色可設(shè)置;
具有豐富的表情;
聊天記錄可以保存,瀏覽。
7. 卡拉OK點歌管理系統(tǒng)
在本地硬盤庫里存放歌曲文件(暫定WAV文件格式)。按照歌手,歌名(字?jǐn)?shù)),類別進(jìn)行檢索播放。
對歌曲庫可以進(jìn)行管理,如添加,刪除等。
計時計費功能。
8. 酒店管理系統(tǒng)
實現(xiàn)酒店客房的預(yù)定,登記,分配,計費等功能。
基本步驟:
(1)數(shù)據(jù)庫后臺設(shè)計,數(shù)據(jù)準(zhǔn)備;
(2)界面設(shè)計;
(3)功能實現(xiàn);
(4)測試;
9. 數(shù)字圖像格式轉(zhuǎn)換
能夠進(jìn)行BMP,GIF,TIF,JPG等圖像的顯示,保存,轉(zhuǎn)換;
能夠?qū)D像進(jìn)行處理:平滑,濾波,增強等。(算法可自行查找)
10. 簡易電子地圖編輯
用MapX實現(xiàn)地圖的編輯功能:打開地圖(Tab格式), 添加/刪除點,線,面元素,通過屬性查詢并高亮顯示。
請大家發(fā)揮想象,獨立完成。
課程設(shè)計安排
時間與進(jìn)度安排
課程設(shè)計共40學(xué)時,分在四周內(nèi)完成。參考的時間分配如下(以每天4學(xué)時為例): 第1天: 基本環(huán)境熟悉;
第2-4 天: 基礎(chǔ)練習(xí)題;
第5-9 天: 綜合題;
第10天: 驗收;
注:基礎(chǔ)練習(xí)題11道中完成5道(如前所述),可在完成后請老師驗收。綜合課題任選一道。為避免重復(fù),原則上每個題目只允許一定數(shù)目的同學(xué)選擇。
實驗報告要求
實驗報告包括兩部分的題目(基礎(chǔ)練習(xí)題和綜合題)。內(nèi)容包括:
1. 實驗?zāi)康?. 算法流程框圖;
3. 數(shù)據(jù)結(jié)構(gòu)說明;
4. 程序說明;
5. 測試結(jié)果;
6. 附件:程序代碼。
成績評定
成績評定遵循過程與結(jié)果并重的原則,給出考查課成績等級(不及格,及格,中等,良好,優(yōu)秀)。依據(jù)下列因素進(jìn)行學(xué)生的成績評定:
1. 出勤率;
出勤率低于30%者將被成績降級,低于50%將被要求重修。
2. 認(rèn)真程度;
有如下行為者視情節(jié)輕重成績將被降級直至重修:打游戲,看電影或其他無關(guān)事項。
3. 完成質(zhì)量;
相同的課題,如果出現(xiàn)雷同的結(jié)果,將被降級。
4. 回答問題的水平;
對于完成的課題,如果不能解釋,視同抄襲,成績降級。
5. 實驗報告
對于沒有完成指定內(nèi)容,或者雷同報告的,成績降級。
特別的,對于完成內(nèi)容超過題目要求或者有獨特成果,給與成績獎勵。
2012-4-20
驗收提示:
(根據(jù)最新的上級要求,做如下的通知)
5月18日: 驗收日。在此之前,請大家完成準(zhǔn)備工作(代碼,必要的說明文檔等)。驗收時采用教師學(xué)生一對一方式進(jìn)行,同學(xué)需要進(jìn)行預(yù)約,并主動出示有效證件。為了提供良好的驗收環(huán)境,非驗收同學(xué)應(yīng)在別處等候,不要圍觀,評論。驗收老師會提問一些相關(guān)問題,請同學(xué)獨立回答。學(xué)生也可能被要求進(jìn)行現(xiàn)場的一些簡單的功能改進(jìn)。
對于上機時間沒有達(dá)到最低要求的,取消驗收資格。此數(shù)據(jù)來自計算機系統(tǒng),請大家平時注意查詢。
平時有問題,歡迎在教師值班時候來咨詢。(見附表)
實驗報告:需要提供報告的硬拷貝和電子版資料(文檔,代碼等),如果在成績評定日尚未提交,則一律下一年重修。(提示:請班長或者學(xué)習(xí)委員負(fù)責(zé)統(tǒng)一收齊,按照學(xué)號排序,交到指定位置)。
第五篇:vc 風(fēng)險投資工作流程
風(fēng)投業(yè)務(wù)流程及步驟?首頁 > 在商言商
國際風(fēng)險投資的運作過程,一般包括了以下幾個步驟:
1.項目初審:國際風(fēng)險投資機構(gòu)在拿到申請表或商業(yè)計劃書后,往往只用很短的時間走馬觀花地瀏覽一遍,以決定在這件事情上花時間是否值得。必須有在幾分鐘時間內(nèi)就能吸引他眼球的東西,才能使之花時間仔細(xì)研究。因此,申請登記表或商業(yè)計劃的第一部分如何撰寫,對融資者來說就顯得非常重要。
2.內(nèi)部磋商:在大的國際風(fēng)險投資機構(gòu),相關(guān)的專業(yè)人員或幾大部門,一般都會定期聚在一起,對通過初審的項目建議書進(jìn)行討論,以決定是否需要進(jìn)行面談,或者回絕。因此他們是協(xié)同做戰(zhàn),任何一個人,往往都沒有絕對的決策權(quán)。因此融資方若想靠走人情通關(guān)系而獲得融資,在風(fēng)險投資領(lǐng)域內(nèi)的可能性幾乎為零。
3.意向會談:如果風(fēng)險投資機構(gòu)對融資方提出的項目感興趣,則會與融資方進(jìn)一步接觸,甚至通過多輪會談直接了解其企業(yè)和項目的背景、管理隊伍和企業(yè)發(fā)展前景及戰(zhàn)略規(guī)劃等,這是整個過程中非常重要的一環(huán)。因為融資方通常并不知道風(fēng)險投資商對項目的選擇和價值評估標(biāo)準(zhǔn),因此在會談中如何快速領(lǐng)悟?qū)Ψ窖哉Z間的意圖并做出正確、合理、快速、靈活的回應(yīng),就顯得格外重要。
4.風(fēng)險評估:如果初次面談較為成功,接下來便是風(fēng)險投資機構(gòu)開始對融資方的經(jīng)營情況進(jìn)行考察以及盡可能多地對項目進(jìn)行了解。他們往往會通過即定的工作流程和審查程序?qū)σ庀蛉谫Y方的管理、戰(zhàn)略、技術(shù)、市場、優(yōu)勢、潛力、規(guī)模、團(tuán)隊等進(jìn)行仔細(xì)的評估,這一程序甚至包括與潛在的客戶接觸,向技術(shù)專家咨詢并與管理隊伍舉行幾輪會談。這一過程往往也是風(fēng)險投資機構(gòu)合理規(guī)避自身風(fēng)險的必要和重要環(huán)節(jié)。他們會嚴(yán)陣以待,絲毫不會馬虎。
5.條款清單:審查階段完成之后,如果風(fēng)險投資機構(gòu)認(rèn)為所申請的項目前景看好,那么便可開始進(jìn)行投資形式和估價的合作談判。通常融資方會得到一個條款清單,概括出涉及的內(nèi)容。融資方必須在規(guī)定的時間內(nèi),完成條款清單上的內(nèi)容,才能進(jìn)入下一階段的環(huán)節(jié)。這個階段,實際上也是風(fēng)險投資商對融資方的合作誠意、態(tài)度與執(zhí)行力的判斷與考察。
6.簽定合同:風(fēng)險投資機構(gòu)力圖使他們的投資回報與所承擔(dān)的風(fēng)險相適應(yīng)。基于各自對企業(yè)價值的評估,投融資雙方往往會通過多輪談判與協(xié)商,達(dá)成最終成交方式與價值。此后,雙方才進(jìn)入合同協(xié)商與正式簽約的階段。若融資方能走到這一步,基本就可以算成功了。
7.執(zhí)行跟蹤:投資生效后,風(fēng)險投資機構(gòu)便擁有了風(fēng)險企業(yè)的股份或以合同約定的其他合作方式的監(jiān)管權(quán)利。大多數(shù)的風(fēng)險投資機構(gòu)將在董事會或合作項目中扮演著咨詢者的角色。他們通常同時介入好幾個企業(yè),所以沒有時間扮演其他角色。作為咨詢者,他們主要就改善經(jīng)營狀況以獲取更多的利潤提出建議,幫助物色新的管理人員(經(jīng)理),定期與企業(yè)家接觸以跟蹤了解經(jīng)營的進(jìn)展情況,定期審查會計師事務(wù)所提交的財務(wù)分析報告。由于風(fēng)險投資機構(gòu)對其所投資的業(yè)務(wù)領(lǐng)域通常了如指掌,所以其建議會很有參考價值。從這個意義來說,獲得風(fēng)險投資的融資方,可以說同時也獲得了一個頂尖的智囊團(tuán)。
8.資金退出:一般風(fēng)險投資公司一般在3-10年取得一定收益后,即會采取一定的方式安全退出,回收資本金并獲取利潤,以進(jìn)入新一輪的項目投資。其主要方法有:公開上市、股份回購、股權(quán)出售(一般為購并和第二期購并)和清算四種。
以上,就是筆者在親自操作風(fēng)險融資過程中,所了解并總結(jié)出來的主要過程。并且據(jù)我所知,若以100個遞交了融資申請的項目為例,通常80%的項目會在第1個階段就被投資方PASS掉;剩下20%的項目在第2個階段過后最多會剩下5個;而這剩下的5個項目在經(jīng)過第3階段的會談后,真正能進(jìn)入風(fēng)險評估環(huán)節(jié)的,通常也就只剩下1個了。剩下的這1個項目,若能通過投資方的風(fēng)險評估,基本就成功了。因為在后期的幾個環(huán)節(jié),投資方對項目方的態(tài)度會有明顯的不同,他們不僅僅會盡量指點并協(xié)助項目方完成后期工作,在出現(xiàn)意見分歧時也往往會采用公平合理的磋商方式,而不會象前幾個階段給人感覺那么“盛氣凌人”了。因為此時的投資方基本已經(jīng)看準(zhǔn)了項目方是一個香饃饃,不想輕易拱手讓人了。
需要著重提醒大家一點的是:本文中所述的8大環(huán)節(jié),每一環(huán)節(jié)又是由若干小的流程和環(huán)節(jié)組成及相互控制的,可謂環(huán)環(huán)相扣,一步錯了即全盤皆輸。因此即使融資方心中明了風(fēng)險融資的大環(huán)節(jié)和步驟,若不具備極強的洞察力、應(yīng)變力、協(xié)調(diào)力、專業(yè)力、管控力和談判力,融資一事基本上也是“竹藍(lán)打水一場空”。