久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

c++學(xué)習(xí)心得

時(shí)間:2019-05-14 21:53:41下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《c++學(xué)習(xí)心得》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《c++學(xué)習(xí)心得》。

第一篇:c++學(xué)習(xí)心得

c++學(xué)習(xí)心得

2008-03-12 16:24

為初學(xué)者指路

首先聲明,我可不是什么高手,也就是剛脫貧。因?yàn)檫\(yùn)氣很好,買到了幾本好書(shū),在學(xué)習(xí)過(guò)程中幾乎沒(méi)走什么彎路,沒(méi)費(fèi)什么勁就入門了,現(xiàn)在一般的小程序能搞定了。看到那些因?yàn)椴恢獜暮蜗率侄嗫鄴暝呐笥眩M业奈恼履芙o他們一些幫助。

學(xué)編程急不得,上來(lái)就學(xué)VC肯定碰一頭灰,說(shuō)VC難就難在這點(diǎn)上了。如果硬上,意志堅(jiān)強(qiáng)的話也許能挺過(guò)來(lái),但也是會(huì)缺乏后勁,不得不回過(guò)頭來(lái)補(bǔ)習(xí)基礎(chǔ)知識(shí)。意志不堅(jiān)強(qiáng)的話,很有可能就此放棄了,并留下一個(gè)VC難得不得了的印象。其實(shí),只要踏踏實(shí)實(shí)一步一步來(lái),VC也就是很簡(jiǎn)單點(diǎn)事。在這里我說(shuō)一下,如果你還只是一個(gè)初中生,那么你就應(yīng)當(dāng)仔細(xì)考慮一下了。首先,限于你的知識(shí)和思維能力,學(xué)學(xué)C語(yǔ)言還應(yīng)該沒(méi)問(wèn)題,但要學(xué)VC是要下相當(dāng)大的功夫的。而且,你現(xiàn)在學(xué)到的東西將來(lái)一定會(huì)過(guò)時(shí),所以不如把精力放在算法的研究上,畢竟這些東西永遠(yuǎn)都不會(huì)過(guò)時(shí)。

我覺(jué)著如果走對(duì)路子,入門VC,一個(gè)暑假應(yīng)該夠用了。

雖說(shuō)學(xué)VC并不是傳說(shuō)的那么難,可不下些苦功夫是學(xué)不成的。在學(xué)VC前,你必須確定,你是因?yàn)闊釔?ài)編程才學(xué)VC的,而不是出于炫耀或其他。否則,恐怕你堅(jiān)持不到勝利的那一天。

對(duì)于首次接觸編程的同學(xué),我建議最好先學(xué)一下Quick BASIC(DOS里就有帶,就是那個(gè)QBASIC.EXE),不用多學(xué),知道什么是整型什么是浮點(diǎn),以及DO...LOOP FOR...NEXT 等最基本的知識(shí),能算個(gè)階乘,求個(gè)積分就行了,關(guān)鍵要明白計(jì)算機(jī)是怎么執(zhí)行命令的,對(duì)編程有個(gè)感性認(rèn)識(shí)。如果你對(duì)自己有自信,也可以直接學(xué)C++,應(yīng)該也不會(huì)多費(fèi)太多事。不過(guò)我覺(jué)著因?yàn)橛泻芏噘Y料是FOR VB的,并且網(wǎng)頁(yè)編程常用VB Script,以后你也很有可能要用到VB,所以了解一些BASIC對(duì)以后也是有幫助的。而且如果只是要算個(gè)小題用QB比VC、VB之類方便多了。(找個(gè)人教一兩天應(yīng)該就能搞定了吧)

之后我建議找本初高中信息學(xué)奧賽的書(shū)(有些奇怪吧)。這些書(shū)里講解了基本的算法,寫(xiě)的卻比較通俗,沒(méi)什么高深的數(shù)學(xué)知識(shí),容易理解。這些東西在數(shù)據(jù)結(jié)構(gòu)課程中有系統(tǒng)嚴(yán)密的講解,所以也可等以后再學(xué)。但我覺(jué)著現(xiàn)階段寫(xiě)一些小程序,實(shí)現(xiàn)些常用算法對(duì)自己的思維是很好的鍛煉,對(duì)以后的學(xué)習(xí)大有好處。我想,能排排序,求個(gè)八皇后,算個(gè)漢諾塔,再知道深、廣度優(yōu)先搜索就可以了。

如果你已經(jīng)有一些編程的基礎(chǔ)知識(shí)了,自然就可以跳過(guò)以上兩步。

等你對(duì)編程有一定的認(rèn)識(shí)后,就應(yīng)該開(kāi)始進(jìn)軍C++了.注意,是C++而不是VC,這兩者根本不是一碼事!別買VC入門,你肯定看不懂!C++是一門語(yǔ)言,而VC教程則是講解如何使用MFC類庫(kù),學(xué)習(xí)VC應(yīng)建立在充分了解C++的基礎(chǔ)上。

我覺(jué)著比起許多花花綠綠的大全、寶典,不如買本大學(xué)的C++教程(注意:別買等級(jí)考試的教程,那是應(yīng)試用的),那些教程大都經(jīng)過(guò)反復(fù)錘煉,比較系統(tǒng),很有含金量,有不會(huì)太貴。這里我暴力推薦由清華大學(xué)出版社出版的一本《C++程序設(shè)計(jì)教程》,封面是紅色的,封底是黃色的,看起來(lái)很樸素,主編是錢能。這本書(shū)簡(jiǎn)直是好的沒(méi)法說(shuō),還便宜(39.5元)。這本書(shū)不但告訴你語(yǔ)法,還告訴你為什么要這樣規(guī)定語(yǔ)法,看完之后,你會(huì)覺(jué)著那許許多多的規(guī)定是理所當(dāng)然的,根本不用費(fèi)心記,不但不枯燥,反而會(huì)使有一種美感。書(shū)中還有許多實(shí)際編程時(shí)應(yīng)注意的問(wèn)題,很有價(jià)值。這本書(shū)還配有《實(shí)驗(yàn)指導(dǎo)》,和《習(xí)題集》,不過(guò)對(duì)于有一定編程經(jīng)驗(yàn)的人應(yīng)該是用處不大,所以我沒(méi)買。除了這本書(shū),我建議再買本關(guān)于傳統(tǒng)C語(yǔ)言的書(shū),要著重以下幾個(gè)方面:編譯預(yù)處理、typedef的使用,位運(yùn)算,標(biāo)準(zhǔn)庫(kù)函數(shù)的使用(最好有一個(gè)比較詳細(xì)的列表,用的時(shí)候好查)。

C++的標(biāo)準(zhǔn)類模板是個(gè)不錯(cuò)的東東,不過(guò)對(duì)于學(xué)習(xí)MFC卻沒(méi)有幫助,原因是MFC太落后了(^_^),可以先放一放,要不要學(xué)等搞定MFC時(shí)再作決定。雖然我沒(méi)怎么學(xué)過(guò),不過(guò)覺(jué)著它挺不錯(cuò),而且代表了一種發(fā)展方向。雖然學(xué)著費(fèi)勁(那東西幾乎沒(méi)一點(diǎn)C++的樣子,簡(jiǎn)直是在學(xué)新語(yǔ)言),但掌握它可使編程輕松不少。

學(xué)完了C++,該學(xué)VC了吧?別急,先找本W(wǎng)IN32編程的書(shū),這次沒(méi)什么講究,看著差不多的,便宜一些的就行了,如果有對(duì)于VC集成環(huán)境的介紹就最好了。WIN32編程是指用WINDOWS API編程,MFC是將眾多的API函數(shù)進(jìn)行了封裝的類庫(kù),用起來(lái)方便了不少,但如果沒(méi)有一些API編程基礎(chǔ),對(duì)相關(guān)概念不了解,學(xué)起MFC來(lái)可能會(huì)很費(fèi)解。相信我,將來(lái)你不會(huì)覺(jué)著學(xué)API編程是浪費(fèi)時(shí)間的。API函數(shù)有兩千多,要都學(xué)會(huì)累死。其實(shí)你只要知道如何創(chuàng)建窗口、對(duì)話框、控件、消息循環(huán),了解了句柄的含義就差不多了,最好再了解一點(diǎn)GDI編程。這個(gè)階段的關(guān)鍵是要理解WIN32程序是如何運(yùn)作的,把握各種窗口間的關(guān)系。因?yàn)槟阋院髴?yīng)該很少直接用WIN32 SDK編寫(xiě)程序,所以關(guān)鍵是理解整體結(jié)構(gòu),記住幾個(gè)函數(shù)并沒(méi)有什么意義。函數(shù)用的時(shí)候可以現(xiàn)查。手頭應(yīng)有一份比較全面的資料。中文的API函數(shù)大全好像只有For VB的,不過(guò)看起來(lái)應(yīng)該是沒(méi)有任何障礙。英文的資料MSDN中就有,相當(dāng)全面,也比中文的詳細(xì)一些。我建議用中文資料快速查找,有問(wèn)題再看英文。(我忘了我的html版中文API大全是從哪下載的了,不過(guò)書(shū)店有售,白皮的,很厚一本,很貴就是了。誰(shuí)想要可以與我聯(lián)系iamsor@sohu.com)

對(duì)于想學(xué)游戲編程的朋友注意:從現(xiàn)在起,你不必去學(xué)什么MFC了,相信我,那東西除了讓你頭疼一點(diǎn)用處都沒(méi)有。游戲都使用Win32 SDK編出來(lái)的。現(xiàn)在,你要學(xué)的是DirectX。我推薦老王翻譯的DirectDraw文檔(),前面有一些老王自己寫(xiě)的基礎(chǔ)知識(shí),很適合入門,在此特別感謝老王的辛勤勞動(dòng)。我還買了一本《DirectX 7 速成教程》,機(jī)械工業(yè)出版社出版,封面封底都是紅色。除了翻譯慘了點(diǎn)還算不錯(cuò),介紹的挺全面,還有一些游戲編程基礎(chǔ)知識(shí)。如果你想圖省事,可以考慮用云風(fēng)編寫(xiě)的風(fēng)魂游戲庫(kù),很方便的(對(duì)云風(fēng)的辛勤勞動(dòng)表示感謝).不過(guò)我仍然建議至少了解一下DirectX.這里說(shuō)一下,很多朋友抱怨找不到有關(guān)DirectX的書(shū)籍,我告訴你,別去編程書(shū)籍里找,去多媒體制作書(shū)籍那找,還要把眼睛瞪得大大的、圓圓的。Director..Director..DirectX!!知道了吧,書(shū)店工作的人眼神都不大好,我也是有一天沒(méi)事瞎轉(zhuǎn)才發(fā)現(xiàn)的,嚇了我一大跳。發(fā)現(xiàn)這個(gè)秘密后我發(fā)現(xiàn)其實(shí)有不

少關(guān)于DirectX的書(shū),只是一般人找不到罷了。學(xué)會(huì)了DirectX,就可以開(kāi)始奮斗了,剩下的問(wèn)題就只有積累經(jīng)驗(yàn)了。

對(duì)于志向是應(yīng)用軟件的朋友,打好了基礎(chǔ),現(xiàn)在進(jìn)軍VC的障礙都已掃清了。不過(guò)還是應(yīng)做好充分的思想準(zhǔn)備,事情不會(huì)那么順利的。剛開(kāi)始,你就要面對(duì)一個(gè)瓶頸,大量的緊密關(guān)聯(lián)的知識(shí),使你必須一下理解一個(gè)整體,而很難一點(diǎn)點(diǎn)來(lái)。可以說(shuō),學(xué)VC最難的就是剛開(kāi)始。情況有些類似于你第一次創(chuàng)建窗口時(shí)面對(duì)的那長(zhǎng)長(zhǎng)的程序,只不過(guò)更糟糕就是了。很多人就是在此被一大團(tuán)知識(shí)噎著,放棄了學(xué)習(xí)。事實(shí)上,這幾乎是Windows編程的一大特點(diǎn),在WIN32編程時(shí)你就應(yīng)當(dāng)有所體會(huì),而DirectX和COM都有類似問(wèn)題。記住,一定要堅(jiān)信:突破了這個(gè)瓶頸之后便是一片海闊天空,而有著扎實(shí)基礎(chǔ)的你是一定能闖過(guò)去的。

我的建議是,不要等徹底弄明白一句才看下一句,而是知道好像怎么回事就向下看,實(shí)在看不懂也硬著頭皮往下看,等能比貓畫(huà)虎的作出個(gè)菜單、對(duì)話框時(shí)便回過(guò)頭再看一遍,幾遍之后應(yīng)該就可以大概明白MFC程序的運(yùn)作了。注意:這里有個(gè)關(guān)鍵,一定要用心體會(huì)面向?qū)ο缶幊痰木瘢⒀矍暗某绦蚺c你之前所學(xué)的知識(shí)聯(lián)系起來(lái)。通過(guò)比較成員函數(shù)和對(duì)應(yīng)的API函數(shù)間的區(qū)別,嘗試去理解MFC是怎樣封裝相關(guān)的API的。例如,相當(dāng)多的類將句柄封裝了起來(lái),在傳遞參數(shù)時(shí)加以省略,這就是一個(gè)很重要的特性。MFC中有許多的宏,看起來(lái)很奇怪,但你不必理會(huì)其實(shí)現(xiàn)方法,只要知道如何使用便可,這點(diǎn)也很重要。還有,千萬(wàn)不要過(guò)于依賴ClassWizard,對(duì)于其生成的代碼要自己進(jìn)行分析,偷懶就不能真正理解MFC。

這里我介紹一種學(xué)法,不過(guò)學(xué)法這種東西因人而異,所以還要根據(jù)個(gè)人的情況決定。開(kāi)始時(shí),教程讓怎么辦就怎么辦,比貓畫(huà)虎的作出個(gè)菜單、對(duì)話框,然后試著添加控件。等能不看教程便做到這些時(shí),開(kāi)始逐字逐句的試著理解MFC程序的組織。若看不懂就跳過(guò)看下面的。就這樣一遍一遍來(lái)。如果覺(jué)著頭大就先歇上兩天,等清醒了再接著來(lái).最好在這期間多找些介紹MFC框架的文章。注意:先不要碰有關(guān)文檔/視結(jié)構(gòu)的東西,否則你會(huì)更頭大。然后便可試著寫(xiě)個(gè)定時(shí)器、名片夾之類的小東西,熟悉一下各種控件的使用。突破了開(kāi)始的瓶頸之后再學(xué)下去便會(huì)越學(xué)越容易,因?yàn)槟憧梢砸稽c(diǎn)一點(diǎn)的積累知識(shí),而不用擔(dān)心被噎著了。再過(guò)不久,你就不得不開(kāi)始使用API函數(shù)完成一些功能,如在系統(tǒng)托盤(pán)加圖標(biāo),自畫(huà)列表框等。這時(shí),你也會(huì)體會(huì)到學(xué)習(xí)WIN32編程的好處了,沒(méi)學(xué)過(guò)的人很可能就此卡殼。

關(guān)于VC的教程遍地都是,但魚(yú)龍混雜,市場(chǎng)烏煙瘴氣,騙錢的書(shū)真不少。有些書(shū)很厚,內(nèi)容當(dāng)然也很全,對(duì)老鳥(niǎo)很不錯(cuò),但對(duì)于初學(xué)者似乎有些浪費(fèi)錢,因?yàn)槔锩娼^大部分的東西MSDN中都有,并且初學(xué)者用不著。老外寫(xiě)的書(shū)一般內(nèi)容不錯(cuò),但翻譯水平是個(gè)問(wèn)題。如果翻譯糟糕可夠你受的,加上價(jià)格不菲,我也不建議初學(xué)者買。還有些什么傻瓜書(shū)、圖解之類,好像是面向初學(xué)者,時(shí)則為騙錢,你看完后除了那幾個(gè)例子什么也不會(huì)作。如果你看到有一本書(shū)花了大量的篇幅圖文并茂,生動(dòng)形象的介紹如何畫(huà)圖,輸出文字,別買!騙錢的!(:-< 我就被坑去42塊現(xiàn)大洋)那些花哨的東西對(duì)初學(xué)者除了轉(zhuǎn)移注意力沒(méi)任何好處。如果你真的對(duì)GDI繪圖很感興趣,就去找些專門書(shū)籍,比那些書(shū)好多了。最好買名字類似于VC應(yīng)用,VC編程之類比較正式的,圖不要太多的,字不要太大的,最好是

有較多的控件介紹的。當(dāng)然,文字流暢也是很重要的。書(shū)不要買太多,最多兩本,因?yàn)檫@些書(shū)內(nèi)容都差不多,買多了的話東看西看反倒沒(méi)好處。在這里,我建議初學(xué)者先別急著掏錢,而是去VC王朝(http://vcdynasty.yeah.net/)下載本MFC教程。雖說(shuō)是網(wǎng)上教程,卻當(dāng)相當(dāng)有水準(zhǔn)。不但內(nèi)容比較全面,還一句廢話也沒(méi)有(這里感謝作者的辛勤勞動(dòng))。只是可惜對(duì)GDI沒(méi)有一點(diǎn)介紹,還須其他書(shū)籍作補(bǔ)充。等搞定這本教程時(shí),應(yīng)該就已經(jīng)入了門,可以有針對(duì)性的選購(gòu)書(shū)籍,不用擔(dān)心上當(dāng)受騙了。還有,VC知識(shí)庫(kù)()的網(wǎng)上雜志也很不錯(cuò),對(duì)剛?cè)腴T的人很有幫助,建議下載。入了些門后,各個(gè)網(wǎng)站多轉(zhuǎn)轉(zhuǎn),看見(jiàn)好文章就往下拉,對(duì)提高水平很有好處。

一套MSDN光盤(pán)在這時(shí)是必不可少的,什么都找中文資料是不可能的,即使能找到也會(huì)很費(fèi)時(shí)間和金錢,只能看硬著頭皮英文。不過(guò)以我的經(jīng)驗(yàn)看,只要有高中水平的英語(yǔ),加上金山詞霸一路滑過(guò)去,看那種專業(yè)文章還是很容易的。還有,初學(xué)者一上來(lái)可能根本不知道上哪找需要的東西,我在這里把常用的地方列一下:

WIN32 API:平臺(tái)SDK->Reference->Win32 Functions in Alpha Order

MFC類庫(kù)資料: Visual C++ Documentation->Reference->Microsoft Fo...C/C++語(yǔ)言及標(biāo)準(zhǔn)庫(kù)資料: Visual C++ Documentation->Reference->C/C++...標(biāo)準(zhǔn)控件: 標(biāo)準(zhǔn)控件都被MFC封裝了,可以參考對(duì)應(yīng)的類,如Edit控件對(duì)應(yīng)CEdit類.VC中帶的ActiveX控件: Visual Basic文檔->參考->控件參考(唯一的中文資料,卻是最糟糕的。不但是For VB,與C++有很大區(qū)別,還翻譯得亂七八糟,幾乎沒(méi)法用.如有高手知道哪有英文資料還請(qǐng)告知,不勝感激)

目前市面上的MSDN光盤(pán)已經(jīng)有一段歷史了,有些東西可能有些過(guò)時(shí)。要最新資料的話,可以到微軟的網(wǎng)站(當(dāng)然是全英文的)。不過(guò)對(duì)于初學(xué)者似乎沒(méi)有必要。

搞定VC后,要學(xué)什么都隨你便了,再學(xué)C++Builder,VB,Dephi,java什么的都是一點(diǎn)難度都沒(méi)有了,感覺(jué)就象是把關(guān)鍵字換了換。或者可以去啃啃COM,據(jù)說(shuō)那是塊硬骨頭(不過(guò)好像也只是入門難,因?yàn)橛辛酥暗慕?jīng)驗(yàn),雖然我沒(méi)碰過(guò),但花點(diǎn)時(shí)間應(yīng)該是搞得定的。另外DirectX編程經(jīng)驗(yàn)在此應(yīng)該是有些幫助的)。

最后,我建議有時(shí)間的話多研究一下各種算法。數(shù)據(jù)結(jié)構(gòu)是一定要看的。不一定要記住(話說(shuō)回來(lái),不經(jīng)常用的話也記不住),但至少要知道有那么回事,萬(wàn)一碰到問(wèn)題了要知道往那邊*。其實(shí),常見(jiàn)的鏈表等結(jié)構(gòu)以及排序等算法在C++標(biāo)準(zhǔn)類模板中已經(jīng)實(shí)現(xiàn)了,不用你去費(fèi)勁,但有些了解的總是有好處的。至于離散數(shù)學(xué)、線性代數(shù)什么的,對(duì)于復(fù)雜些的算法是必需的,其中離散數(shù)學(xué)是數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。不過(guò),我倒覺(jué)著只要不是太復(fù)雜的問(wèn)題只用經(jīng)驗(yàn)也能解決(就象奧賽書(shū)中那樣,只是實(shí)現(xiàn)而沒(méi)有證明),而且那些東西不用就會(huì)忘。萬(wàn)一碰見(jiàn)個(gè)難題解決不了,找個(gè)高手幫忙也不錯(cuò),省時(shí)省力^_^。

下面是我想到的一些雜七雜八的問(wèn)題,沒(méi)什么條理,湊或看吧:

英語(yǔ)水平不用很高,但至少要有高中水準(zhǔn),否則有你受的。

看書(shū)一遍看不懂沒(méi)關(guān)系,事實(shí)上,要一遍就能弄懂你就很有天分了。只要多看幾遍,綜合分析,應(yīng)該是沒(méi)有什么問(wèn)題的。

現(xiàn)在的世道,不是書(shū)到用時(shí)方恨少,而是書(shū)到用時(shí)方能學(xué)。不要試圖滿把抓,而要用到什么學(xué)什么。這樣,學(xué)的又快,記的又牢。

一個(gè)錯(cuò)誤認(rèn)識(shí)-學(xué)編程*的是記憶:這是很要命的思想,會(huì)讓你累死而無(wú)所得。事實(shí)上,你幾乎不用特意記任何東西。對(duì)于各種函數(shù)、語(yǔ)句,只要知道有那么個(gè)東西,用的時(shí)候知道上哪找就行了,用多了自然就記住了。學(xué)編程關(guān)鍵在理解編程思想。

一個(gè)小技巧:活用編譯器可以幫你很多忙。在VC中,當(dāng)你輸入成員符號(hào).或->時(shí),程序會(huì)自動(dòng)列出此類的成員,你只要選一個(gè)就行了。這樣便省了很多記憶負(fù)擔(dān)。例如,你想獲得一個(gè)CString類對(duì)象的長(zhǎng)度,對(duì)應(yīng)方法肯定是Get什么,但是GetLetterNum還是GetStrLength卻不知道,你可以輸入xxx.Get,這樣,你便可從列表中找到一個(gè)GetTextLength(),不是這個(gè)還能是什么,單擊它的話還可能出現(xiàn)說(shuō)明。還可避免打錯(cuò)字。如果想調(diào)用本類的成員函數(shù),就輸入this->,就可以查看成員列表了。對(duì)于全局函數(shù),則是輸入::即可。這樣的話看起來(lái)還清楚。還有,如果沒(méi)有出現(xiàn)那個(gè)列表,八成是你弄錯(cuò)了什么東西,例如變量沒(méi)定義,或打錯(cuò)了字,但也可能是VC的BUG,很少就是了。對(duì)于初學(xué)者,這可是很好用的功能。

初學(xué)編程應(yīng)遵循的一條原則:比貓畫(huà)虎、不求甚解。關(guān)鍵在于很多東西你就甚解不了,例如MFC中稀奇古怪的宏。而且,甚解了也沒(méi)太大的好處,暫時(shí)還是不要管它,會(huì)用就行了,什么時(shí)候有了閑工夫再來(lái)慢慢琢磨。多留心別人的程序是如何實(shí)現(xiàn)的,并照著去做。有時(shí),一些小問(wèn)題也體現(xiàn)著高深的思想。比如,一個(gè)變量要定義在什么地方,如何組織類的結(jié)構(gòu)。如果不太明白,就先找著別人的樣子去作,時(shí)間一長(zhǎng)就會(huì)自然而然的明白,這就像下棋一樣,老頭怎么下,你也跟著怎么下,畢竟他出錯(cuò)的可能比你小。

還有,我覺(jué)著初學(xué)者不應(yīng)把過(guò)多的精力放在象Cool的工具條,透明的、氣泡狀的窗口之類的工作上。再搞這些之前,你最好問(wèn)問(wèn)自己,自己的程序配得上這些漂亮的界面嗎?尤其是,千萬(wàn)不要在剛開(kāi)始動(dòng)手時(shí)就先打扮界面,以免界面也弄好了,熱情也沒(méi)了。畢竟,看在眼里的成果給人的刺激比枯燥的算法強(qiáng)得多。如果你想搞的話,也要等程序主體定型后再搞。初學(xué)時(shí)還應(yīng)多留心關(guān)于程序結(jié)構(gòu)組織的文章,這些東西是很重要的。要從一開(kāi)始便養(yǎng)成良好的風(fēng)格。否則有一天當(dāng)你決定編一個(gè)大點(diǎn)的程序時(shí),你就會(huì)發(fā)現(xiàn)干到一半就干不下去了。

編程不是技術(shù)活,而是體力活:學(xué)的時(shí)候滿腦子全是技術(shù),可用的時(shí)候就真成了體力活了。真正做起東西來(lái),最重要的是要有毅力堅(jiān)持到完。意志不堅(jiān)強(qiáng)就難免半途而廢。關(guān)于初學(xué)者是該學(xué)VC還是該學(xué)VB的問(wèn)題:我覺(jué)著,學(xué)VC會(huì)難一些沒(méi)錯(cuò),但掌握學(xué)習(xí)方法的話也沒(méi)想象的那么難,而且學(xué)VC才能深刻領(lǐng)會(huì)面向?qū)?/p>

象編程的精髓。它使你的思想提升了一個(gè)高度,對(duì)以后的發(fā)展是大有好處的。再說(shuō),如果這點(diǎn)困難都克服不了,以后也很難有什么作為。所以,即使你打定主意用VB,也還是花些時(shí)間看看VC,至少知道它的大概結(jié)構(gòu)。從長(zhǎng)遠(yuǎn)看,這是很有好處的。

關(guān)于學(xué)C++ Builder還是Visual C++的問(wèn)題:也許VC真的不太好,但總不會(huì)太糟。可關(guān)于VC的資料不知是關(guān)于C++ Builder的多少倍。尤其對(duì)于初學(xué)者,這時(shí)很要命的!何況兩者相差其實(shí)并不太多,學(xué)會(huì)了一種,再學(xué)另一種也不會(huì)太費(fèi)事。

第二篇:C++學(xué)習(xí)心得

C++學(xué)習(xí)心得

在計(jì)算機(jī)課程中,C++程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的一門必修基礎(chǔ)課,該語(yǔ)言以其高效而又實(shí)用的特性:既可以進(jìn)行過(guò)程化程序設(shè)計(jì),又可進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì),是進(jìn)行軟件開(kāi)發(fā)的直接工具。

學(xué)習(xí)語(yǔ)言是需要技巧的,無(wú)論是哪種語(yǔ)言,里面都是有規(guī)律的。對(duì)于計(jì)算機(jī)語(yǔ)言來(lái)說(shuō),我認(rèn)為應(yīng)該先理解,然后上機(jī)去實(shí)現(xiàn)它,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。

C++語(yǔ)言課程是一門實(shí)踐性很強(qiáng)的課程,一定要?jiǎng)邮侄鄬?xiě)設(shè)計(jì)、編寫(xiě)程序才能有所進(jìn)步。在實(shí)踐教學(xué)中必須做到循序漸進(jìn),對(duì)所學(xué)的每一部分內(nèi)容都應(yīng)該要求學(xué)生完成一定數(shù)量的實(shí)驗(yàn)內(nèi)容。每部分的上機(jī)習(xí)題必須精心挑選,既要有基本的、較簡(jiǎn)單的題目,又要有一些具有挑戰(zhàn)性的新穎有趣的題目。自己編寫(xiě)的程序一定要到機(jī)器上去實(shí)現(xiàn),通過(guò)調(diào)試程序來(lái)修訂語(yǔ)法錯(cuò)誤,排除邏輯錯(cuò)誤,進(jìn)而提高編程能力,通過(guò)做一定量的習(xí)題,可以積累一定的經(jīng)驗(yàn),同時(shí)對(duì)程序設(shè)計(jì)的精髓會(huì)有所領(lǐng)悟,從而重視上機(jī)實(shí)驗(yàn)。

實(shí)踐重要,老師的教學(xué)方法同樣重要。要強(qiáng)調(diào)學(xué)以致用,展示學(xué)生能夠理解而且又容易提起興趣的用C++語(yǔ)言設(shè)計(jì)的軟件以及往屆學(xué)生的設(shè)計(jì)成果,給學(xué)生布置了幾個(gè)專題,比如:設(shè)計(jì)班級(jí)成績(jī)管理系統(tǒng)、簡(jiǎn)易的圖書(shū)管理系統(tǒng)、簡(jiǎn)易的通訊錄管理系統(tǒng)、小游戲等讓學(xué)生利用課余時(shí)間去思考、收集資料,以教師為主導(dǎo),以任務(wù)為主線,以學(xué)生為主體,過(guò)一段時(shí)間在課堂上組織學(xué)生發(fā)言和討論一次,看看大家對(duì)這些問(wèn)題的思考程度,提提建議,鼓勵(lì)加引導(dǎo),最后到完成。這種教學(xué)法不僅可以讓學(xué)生獲得許多課外知識(shí),同時(shí)也促進(jìn)教學(xué)內(nèi)容的改革,而且也有利于充分挖掘?qū)W生的學(xué)習(xí)潛力。

當(dāng)然,僅靠一個(gè)學(xué)期的C++語(yǔ)言的學(xué)習(xí)是遠(yuǎn)遠(yuǎn)不夠得,需要在后續(xù)課程中進(jìn)行鞏固提高。C++兼容C語(yǔ)言,C語(yǔ)言是C++的子集,我們把C語(yǔ)言和C++融合為一門課程,第一學(xué)期授課以C語(yǔ)言為主,第二學(xué)期講授以C++為主,所有程序都以VC++為調(diào)式環(huán)境。經(jīng)過(guò)這樣的整合,知識(shí)內(nèi)容顯得很連貫,一氣呵成,為第三學(xué)期的Windows程序設(shè)計(jì)課程奠定了基礎(chǔ)。后繼的數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計(jì)、計(jì)算機(jī)網(wǎng)絡(luò)原理等課程實(shí)踐環(huán)節(jié)都利用C++語(yǔ)言進(jìn)行開(kāi)發(fā),開(kāi)展3年不間斷的C++編程訓(xùn)練。

第三篇:C++學(xué)習(xí)心得小結(jié)

C++的學(xué)習(xí)心得

注意:因?yàn)槲覀冊(cè)趯?shí)驗(yàn)室大多是以項(xiàng)目為基礎(chǔ)來(lái)學(xué)習(xí)C++,這樣可能導(dǎo)致我們不能形成一個(gè)知識(shí)體系,所以建議大一同學(xué)腳踏實(shí)地的從頭學(xué)習(xí)C++,即使時(shí)間不充裕的大

二、大三同學(xué)在學(xué)習(xí)時(shí)也要做好筆記,以便下次遇到同樣的錯(cuò)誤能很快解決。

介于大多數(shù)人都要學(xué)C語(yǔ)言,所以本文就以C++與C語(yǔ)言的對(duì)比開(kāi)始。

要區(qū)分C語(yǔ)言和C++的不同,首先要想明白,用磚頭建造城市、用房屋建造城市與用兩者共同建造城市的不同。1.想要學(xué)C++必須掌握C語(yǔ)言的基礎(chǔ)運(yùn)用,這要從C++的產(chǎn)生說(shuō)起。C++其實(shí)并不是一個(gè)新的計(jì)算機(jī)語(yǔ)言,它只是在C語(yǔ)言的基礎(chǔ)上預(yù)先編寫(xiě)好了很多函數(shù)。所以如果把C語(yǔ)言比為磚塊,那么C++就是有磚塊組成的一些小的建筑。所以學(xué)習(xí)C++必需先掌握C語(yǔ)言的基礎(chǔ)運(yùn)用。2.C語(yǔ)言和C++哪個(gè)難?

其實(shí)這個(gè)問(wèn)題提的很不理想。試問(wèn):建起一個(gè)城市,是用磚頭從頭建起來(lái)簡(jiǎn)單,還是把一些已經(jīng)建好,并且使我們需要的房子擺放好簡(jiǎn)單?很明顯C++本身的作用是為了方便使用C語(yǔ)言編程。3.C語(yǔ)言和C++在語(yǔ)法上有什么不同?

就我最近對(duì)C++學(xué)習(xí)時(shí)遇到的一些問(wèn)題來(lái)看,C++在語(yǔ)法上基本與C語(yǔ)言一致。但是由于房屋是別人建的,要使用它就要明白它們的建造過(guò)程(當(dāng)然有些我們只要直接使用就行了,尤其是在前期)。而C++中封裝的函數(shù),也是C++的開(kāi)發(fā)者已經(jīng)建好的,所以我們要很好地使用它們就要明白它們的建造方式,至少要知道它們的使用語(yǔ)法。

4.C++語(yǔ)言與C語(yǔ)言的不同之處(準(zhǔn)確的說(shuō)應(yīng)該是來(lái)看看C++開(kāi)發(fā)者已經(jīng)為我們做好了什么)

注意:以下只是我在編寫(xiě)六維鼠標(biāo)時(shí)遇到的,不全面,其余區(qū)別大家可以在以后的學(xué)習(xí)中自己摸索。1)c語(yǔ)言后綴.c,c++后綴.cpp。

2)當(dāng)函數(shù)定義放在函數(shù)調(diào)用之后時(shí),C程序的函數(shù)原型即聲明有時(shí)可省略,而C++的函數(shù)聲明不能省略,而且還要求函數(shù)的所有參數(shù)在函數(shù)原型的圓括號(hào)中聲明。一個(gè)不帶參數(shù)的C函數(shù)原型必須使用void關(guān)鍵字,而C++函數(shù)原型可以使用空參數(shù)表。

3)C++中用new和delete運(yùn)算符取代C的內(nèi)存分配和釋放函數(shù)malloc()和free()。4)const常量類型:用來(lái)表示一個(gè)“常值變量”與#define的區(qū)別: #define size 20

//不加;只是文本替換此后不再檢查,可能產(chǎn)生負(fù)作用 Const int size=20;//加;替換時(shí)進(jìn)行嚴(yán)格檢查,只有當(dāng)size是int型時(shí)才替換。

C++面向?qū)ο蟮某绦蛟O(shè)計(jì)

概述:面向?qū)ο蟛恢皇且环N程序設(shè)計(jì)方法,還是一種建立客觀事物模型、分析復(fù)雜事物的思想方法,他是以人們通常描述現(xiàn)實(shí)世界的方法來(lái)描述要解決的問(wèn)題。

1.結(jié)構(gòu)化程序設(shè)計(jì):是一種自頂而下、逐步求精的模塊化程序設(shè)計(jì)方法。

類:對(duì)象是累的一個(gè)實(shí)例。類=數(shù)據(jù)結(jié)構(gòu)+對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù)

面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本特征:抽象、封裝、繼承和多態(tài)。

抽象:對(duì)一類對(duì)象進(jìn)行概括,抽出他們共同的性質(zhì)并加以描述的過(guò)程。

封裝:將抽象得到的屬性數(shù)據(jù)和行為代碼有機(jī)的結(jié)合,形成一個(gè)具有類特征的統(tǒng)一體。繼承:一個(gè)新類可以從已有的類派生而來(lái)。

多態(tài):不同對(duì)象對(duì)于同樣的施加于其上的作用會(huì)有不同的反應(yīng)。2.類的定義與實(shí)現(xiàn):

加上類名和作用域限定符(::)。

3.成員函數(shù)的定義形式與一般函數(shù)的定義形勢(shì)基本相同,但如果在類的外部定義成員函數(shù),必須在成員函數(shù)名前一般將類的定義放在頭文件(.h)中,類的實(shí)現(xiàn)放在源文件(*.cpp)中,二main主函數(shù)可以放在另一個(gè)源文件中。在源文件中用#include編譯預(yù)處理指令包含頭文件。

4.對(duì)象:對(duì)象是類的一個(gè)實(shí)例,定義并實(shí)現(xiàn)了類,就可以利用類來(lái)聲明對(duì)象,其形式與普通變量的聲明類似。

例如:以下用類Time聲明了對(duì)象t1,today和對(duì)象的指針pt1:

Time t1,today;//聲明對(duì)象t1,today //聲明指向?qū)ο髏1的指針pt1

Time *pt1=&t1;

聲明對(duì)象后,就可以像引用結(jié)構(gòu)變量一樣,利用成員運(yùn)算符“.”或指向運(yùn)算符“->”引用對(duì)象的公有成員,但注意不能引用對(duì)象的非公有成員。如:pt1->setTime()或t1.showTime()5.構(gòu)造函數(shù)和析構(gòu)函數(shù):在聲明對(duì)象時(shí),對(duì)象一般需要進(jìn)行初始化,及對(duì)成員變量進(jìn)行初始化。在定義類時(shí)不能對(duì)成員變量進(jìn)行初始化,因?yàn)椴荒艽_定類中定義的成員變量是屬于哪一個(gè)對(duì)象。

構(gòu)造函數(shù):是一種特殊的成員函數(shù),特殊性在于:它不需要用戶程序調(diào)用,就能在創(chuàng)建對(duì)象時(shí)由系統(tǒng)自動(dòng)調(diào)用。其作用就是在對(duì)象被創(chuàng)建時(shí)利用初始值去構(gòu)建對(duì)象,使得在聲明對(duì)象時(shí)就能自動(dòng)地完成對(duì)象的初始化。析構(gòu)函數(shù):是在對(duì)象的生存期即將結(jié)束時(shí)由系統(tǒng)自動(dòng)調(diào)用的。析構(gòu)函數(shù)的作用與構(gòu)造函數(shù)相反,用來(lái)在對(duì)象被刪除前做一些清理工作和數(shù)據(jù)保存工作。

構(gòu)造函數(shù)的名稱與類名相同,析構(gòu)函數(shù)的名稱是在類明前加符號(hào)“~”構(gòu)成(表達(dá)取反的意思)。注意,構(gòu)造函數(shù)和析構(gòu)函數(shù)不能有任何返回類型,包括void類型;析構(gòu)函數(shù)不能有參數(shù)。下例說(shuō)明了構(gòu)造函數(shù)和析構(gòu)函數(shù)的定義方法及執(zhí)行順序

6.靜態(tài)數(shù)據(jù)成員在儲(chǔ)存類型上類似于一般的static靜態(tài)變量,也具有全局性。

靜態(tài)數(shù)據(jù)成員的屬性也可以是公有、私有或保護(hù)的。對(duì)于公有靜態(tài)數(shù)據(jù)成員,除了可以像一般數(shù)據(jù)庫(kù)成員那樣,直接通過(guò)對(duì)象或在成員函數(shù)中訪問(wèn)它們,還可以利用類名加作用域限定符(::)來(lái)訪問(wèn)他們。對(duì)于私有和保護(hù)屬性的靜態(tài)數(shù)據(jù)庫(kù)成員,只能在成員函數(shù)中訪問(wèn)它們。

由于靜態(tài)數(shù)據(jù)成員不具體屬于哪一個(gè)對(duì)象,因此不能構(gòu)造函數(shù)或其他成員函數(shù)中對(duì)他們進(jìn)行初始化,他們的初始化必須在類體外進(jìn)行。

注意:靜態(tài)成員函數(shù)只能訪問(wèn)類的靜態(tài)成員(成員變量和成員函數(shù)),而不能訪問(wèn)非靜態(tài)函數(shù)。解決這個(gè)問(wèn)題的方法是將對(duì)象作為靜態(tài)成員函數(shù)的參數(shù),然后在靜態(tài)成員函數(shù)中通過(guò)對(duì)象訪問(wèn)非靜態(tài)成員。

7.this指針:在成員函數(shù)中訪問(wèn)數(shù)據(jù)成員或調(diào)用其他成員函數(shù)不需要指定對(duì)象,因?yàn)樗麄兌际峭ㄟ^(guò)一個(gè)隱藏的this指針確定當(dāng)前的對(duì)象。

例如:void Time :: showTime(){cout<

void Time :: showTime(Time* this){ cout<hour’:’<< this->minute<<’:’<< this->second<

8.友元

定義:友元的另一種類型是友元類,一個(gè)類可以聲明另一個(gè)類為其友元類,友元類的所有成員函數(shù)都可以訪問(wèn)聲明其為友元類的所有成員。

構(gòu)成:一個(gè)函數(shù)要成為一個(gè)類的有元函數(shù),需要在類的定義中聲明該函數(shù),并在函數(shù)聲明的前面加上關(guān)鍵字friend。

作用:友元提供了不同類或不同類的成員函數(shù)之間以及成員函數(shù)和一般函數(shù)之間的數(shù)據(jù)共享機(jī)制。注意:友元關(guān)系是單方向的,不具有交換性和傳遞性。

9.常對(duì)象和常對(duì)象成員:對(duì)于急需要共享又需要安全的數(shù)據(jù),可以利用const來(lái)進(jìn)行保護(hù)。

常對(duì)象:常對(duì)象的數(shù)據(jù)成員的值在對(duì)象的整個(gè)生存期內(nèi)不能被改變,必須利用構(gòu)造函數(shù)進(jìn)行初始化,且以后不能再被更新。聲明格式有以下兩種: const<類名><對(duì)象名>(初始值類表)例如:const Time meeting(8,30,00);成員函數(shù)稱為常成員函數(shù)。格式如下:

<函數(shù)類型> <函數(shù)名>(<參數(shù)表>)const;例如,下面聲明的成員函數(shù)MemberFun()就不能修改對(duì)象的數(shù)據(jù)成員。

void MemberFun()const;在常成員函數(shù)中只能調(diào)用常成員函數(shù),而調(diào)用其他普通函數(shù)可能會(huì)造成簡(jiǎn)介修改數(shù)據(jù)成員。

常數(shù)據(jù)成員:可以使用const關(guān)鍵字將數(shù)據(jù)成員聲明為常數(shù)據(jù)成員。常數(shù)據(jù)成員的初始值只能通過(guò)構(gòu)造函數(shù)獲取,并且只能在構(gòu)造函數(shù)的初始化列表中設(shè)置其初始值。靜態(tài)常數(shù)據(jù)成員初始化只能在類體外進(jìn)行。11. 繼承與派生:C++中,可以在已有類的基礎(chǔ)上定義一個(gè)新類,新類稱為原有類的派生類或子類,而原有類稱為新定義類的基類或父類。

語(yǔ)法如下:

class<派生類名> : [<派生方式>] <基類名>{…

例如:

//派生類新增加的成員聲明列表};

<類名> const <對(duì)象名>(初始值類表)10.常成員函數(shù):可以使用const關(guān)鍵字限制成員函數(shù)對(duì)數(shù)據(jù)成員進(jìn)行修改操作,這種使用const關(guān)鍵字進(jìn)行聲明的class Car : public Vehicle{…

//在派生類Car中新增加的成員};基類中原有成員的訪問(wèn)權(quán)限在派生類中可以被修改,它們的訪問(wèn)權(quán)限由派生類定義中的<派生方式>決定。但注意,為了不破壞基類的封裝性,無(wú)論采用哪種派生方式,基類的私有成員在派生類中都是不可見(jiàn)的,即不允許在派生類的成員函數(shù)中訪問(wèn)基類的私有成員。

public:punlic(公有派生)是類繼承中最常見(jiàn)派生方式。這樣就可以在派生類的成員函數(shù)中訪問(wèn)基類中原有的非私有成員,并能通過(guò)派生類的對(duì)象直接訪問(wèn)基類中原有的公有成員。private:采用private(私有派生),只允許在派生類的成員函數(shù)中訪問(wèn)基類的非私有成員,不能通過(guò)派生類的對(duì)象直接訪問(wèn)基類的任何成員。

protected:采用protected(保護(hù)派生),基類中所有的公有和保護(hù)成員在派生類中都成為保護(hù)成員。總結(jié):派生方式就是把基類的非私有成員在派生類中以什么類型存在。

第四篇:C++語(yǔ)言學(xué)習(xí)心得

C++語(yǔ)言程序?qū)W習(xí)心得體會(huì)

通過(guò)一學(xué)期對(duì)C++語(yǔ)言的學(xué)習(xí),我感覺(jué)C++語(yǔ)言是有一定難度卻又是非常有趣的科目。也是很有幫助的,對(duì)我們未來(lái)工作學(xué)習(xí)而言。我們可以通過(guò)C++語(yǔ)言進(jìn)行更深層次的理解和思考。通過(guò)學(xué)習(xí)我懂得了C++語(yǔ)言是面向?qū)ο蟮囊环N編程語(yǔ)言,就像以后可能學(xué)習(xí)的Java語(yǔ)言一樣,在市場(chǎng)上應(yīng)用性很強(qiáng)的,十分有用處

要對(duì)C++語(yǔ)言學(xué)習(xí)時(shí),一定要了解什么是C++語(yǔ)言以及C++的構(gòu)成,C++設(shè)計(jì)成盡可能與C兼容,C++中提供一個(gè)從C到C++的平滑過(guò)渡,C++避免平臺(tái)限定或沒(méi)有普遍用途的特性。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象具有狀態(tài)(屬性)和行為,狀態(tài)保存在成員變量中,行為通過(guò)成員方法(函數(shù))來(lái)實(shí)現(xiàn)。C語(yǔ)言中的結(jié)構(gòu)體只能描述一個(gè)對(duì)象的狀態(tài),不能描述一個(gè)對(duì)象的行為。在C++語(yǔ)言學(xué)習(xí)中,對(duì)結(jié)構(gòu)體進(jìn)行了擴(kuò)展,C++的結(jié)構(gòu)體可以包含函數(shù)。

學(xué)習(xí)語(yǔ)言是需要技巧的,無(wú)論是哪種語(yǔ)言,里面都是有規(guī)律的。對(duì)于計(jì)算機(jī)語(yǔ)言來(lái)說(shuō),我認(rèn)為應(yīng)該先理解,然后上機(jī)去實(shí)現(xiàn)它,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。代碼量的積累對(duì)于一個(gè)程序員來(lái)說(shuō)太重要了,這也是區(qū)分程序員之間水平的一個(gè)標(biāo)準(zhǔn),這就像我們小學(xué)剛開(kāi)始學(xué)習(xí)英語(yǔ)一樣,每個(gè)人都是從26個(gè)字母開(kāi)始學(xué)的,C++也是一樣,先從簡(jiǎn)單的代碼塊開(kāi)始記憶,反復(fù)記憶,每周進(jìn)行周期性的階段復(fù)習(xí),每天要求自己敲500行代碼,找到敲代碼的感覺(jué),這個(gè)感覺(jué)很重要,一旦養(yǎng)成每天敲代碼的習(xí)慣,我想這就是走向成功的開(kāi)始。

嘗試看一些小程序的代碼,主要看編程者的思路、整理流程、框架格式、用到哪些函數(shù)?哪些變量?一點(diǎn)一點(diǎn)去剖析。溝通是一個(gè)必不可少的環(huán)節(jié),任何一個(gè)項(xiàng)目的完成都是離不開(kāi)團(tuán)隊(duì)合作的,學(xué)習(xí)也是一樣,閉門修煉,只會(huì)造成思維定視,經(jīng)常跟學(xué)的比自己好的同學(xué)進(jìn)行溝通,這是有效的提高自己水平的一種途徑,有時(shí)會(huì)發(fā)現(xiàn)自己找到世外桃園,那真是豁然開(kāi)朗。

對(duì)于學(xué)習(xí),主要還是要自己努力,老師已經(jīng)教的很仔細(xì)了,但是學(xué)習(xí)的主動(dòng)權(quán)在我們手中。我們要對(duì)這門語(yǔ)言要有興趣。可能會(huì)有很多不知道,不理解的地方,當(dāng)時(shí)我們應(yīng)該多思考,借助一些書(shū)籍及網(wǎng)絡(luò)的條件,進(jìn)一步理解和體會(huì)。把自己學(xué)習(xí)的東西融會(huì)貫通就好了,主要還是在于對(duì)于課本的理解,主要還是自己領(lǐng)悟。

每個(gè)人都有每個(gè)人的學(xué)習(xí)習(xí)慣和方式,但是每個(gè)人的時(shí)間都是一樣的,這就看每個(gè)人的學(xué)習(xí)效率和學(xué)習(xí)方法如何了,找到一條適合自己的學(xué)習(xí)方法和技巧才是真的好方法!好技巧!

第五篇:C++學(xué)習(xí)心得

C++讀書(shū)心得

C++是從C語(yǔ)言發(fā)展而來(lái)的,繼承了C語(yǔ)言的特點(diǎn)(可以直接訪問(wèn)硬件)并增加了許多特性(封裝、繼承、多態(tài)),更適合大型軟件的開(kāi)發(fā),比起JAVA來(lái),C++更適合底層系統(tǒng)開(kāi)發(fā),并在網(wǎng)游3D開(kāi)發(fā)、編譯器、操作系統(tǒng)、辦公軟件等基礎(chǔ)軟件領(lǐng)域有很大的優(yōu)勢(shì)。

C++語(yǔ)言主要圍著類來(lái)展開(kāi)的,封裝了屬性和行為,更加利于數(shù)據(jù)的保護(hù)(public、private、protected)。同時(shí)我們也要區(qū)分結(jié)構(gòu)體與類的區(qū)別,一般默認(rèn)的時(shí)候,結(jié)構(gòu)體中成員是public,而類中是private。本書(shū)很大的篇幅是介紹C++的基礎(chǔ)語(yǔ)法,而且很詳細(xì)。在類這個(gè)大的框架中介紹了繼承與派生,繼承有單繼承與多繼承和多派生,這樣實(shí)現(xiàn)了代碼的重用。在對(duì)象聲明的時(shí)候,要調(diào)用構(gòu)造函數(shù),在其作用域結(jié)束時(shí),就調(diào)用析構(gòu)函數(shù),使其釋放內(nèi)存空間(如果是用new動(dòng)態(tài)申請(qǐng)的空間一定要用delete釋放)。在派生類中對(duì)象聲明時(shí)要先構(gòu)造其基類,再是對(duì)象成員,然后是其本身,而析構(gòu)則是相反的。在多派生中要注意抽象共同的特性,使用共同的基類,這是很好的編程風(fēng)格。

在多態(tài)性中,有靜態(tài)多態(tài)性,其中有函數(shù)重載,運(yùn)算符重載。函數(shù)重載中可以用函數(shù)模板,這樣更好的進(jìn)

行泛型程序設(shè)計(jì),而運(yùn)算符重載要注意有些運(yùn)算符不能重載,特別是運(yùn)算符實(shí)現(xiàn)過(guò)程,這段代碼中有些返回值是引用。講到引用就不得不談下它與指針的區(qū)別,引用只是一個(gè)變量的別名,不占用內(nèi)存空間,而指針占用內(nèi)存空間,本身是個(gè)無(wú)符號(hào)整型,在WIN32中占用與INT一樣,占用4個(gè)字節(jié),而它內(nèi)存中存的是它指向變量的內(nèi)存地址,如char *pc(p指向字符型變量);而char * *pc是個(gè)二級(jí)指針(p指向的是指針類型的變量)。關(guān)于這方面還有:const int *p(p指向的int變量是不變的),int const *p(p的指向不變,永遠(yuǎn)指向那個(gè)變量,但這個(gè)變量可以變)。const int i和int const i是一樣的。void *p可以被其他的指針賦值,但不能反過(guò)來(lái)。當(dāng)然const修飾成員函數(shù)時(shí),要放在其后面,聲明和定義是都要跟上哦。這里還要提一下指針在聲明的時(shí)候,也要賦值,要不然就會(huì)成為野指針了。我們接著談?wù)剟?dòng)態(tài)多態(tài)性,主要是虛函數(shù),編譯的時(shí)候不被綁定,只有在運(yùn)行的時(shí)候才能決定其值。在類的繼承關(guān)系中只要是基類中成員函數(shù)聲明為基類,派生類中的同名函數(shù)也是基類(不管是不是被聲明為基類),如果不是虛函數(shù)的話,這里就會(huì)出現(xiàn)同名覆蓋原則。抽象類是虛函數(shù)被賦值零,只能做被基類,不能聲明對(duì)象,有點(diǎn)像void一樣,void a(這樣編譯器會(huì)報(bào)

錯(cuò))。

在編譯器像vc++6.0中有很多c++的類庫(kù),這樣我們就可以不用再重寫(xiě),其中MFC類庫(kù)對(duì)windows平臺(tái)下的窗口應(yīng)用程序設(shè)計(jì)有很大的幫助,MFC中封裝了大量的windows API函數(shù),在我們進(jìn)行Win32程序設(shè)計(jì)時(shí),不用考慮大量的細(xì)節(jié)。當(dāng)然了MFC不能跨平臺(tái),這樣就有很大的限制。泛型程序設(shè)計(jì),可以理解為類的類,把算法寫(xiě)的適合更多的數(shù)據(jù)類型,我們就可以用容器(數(shù)組就可以認(rèn)為是個(gè)容器),適配器等配件組合。STL是C++標(biāo)準(zhǔn)類庫(kù),有點(diǎn)像c語(yǔ)言中的SDK庫(kù)一樣。

在學(xué)習(xí)C++中我們一定要注意變量的作用域及可見(jiàn)性,一般全局變量具有文件作用域,基本上是在頭文件中申明或者main()函數(shù)之前,當(dāng)然要注意extern的使用,這樣可以在多文件中使用。函數(shù)之內(nèi)的變量都是局部變量,在內(nèi)存的棧區(qū),函數(shù)結(jié)束是,也就釋放了。Static修飾的變量是靜態(tài)變量,具有文件作用域,在內(nèi)存的全局?jǐn)?shù)據(jù)區(qū),并在賦值前,這個(gè)區(qū)的數(shù)據(jù)都是零,而且在程序運(yùn)行之間,這個(gè)只永遠(yuǎn)都可以用。當(dāng)然類的靜態(tài)數(shù)據(jù)成員,一定要在類后定義并賦值,而靜態(tài)成員函數(shù)不能改變數(shù)據(jù)成員,只能調(diào)用靜態(tài)數(shù)據(jù)成員。友元函數(shù)減少了大量的回調(diào),可以在編譯的時(shí)候嵌在類中。

在我學(xué)習(xí)中,很多的知識(shí)點(diǎn),看到后面就忘了前面,知識(shí)點(diǎn)我看了兩遍了,中間也隔了蠻久的,現(xiàn)在寫(xiě)這篇文章的時(shí)候,都覺(jué)得有點(diǎn)生疏了。唯有多編程,深入理解對(duì)象才能更好的應(yīng)用它的特性吧!

謝謝!

江西師大計(jì)算機(jī)學(xué)院

07級(jí)(3)班邵徽鷗

學(xué)好:0708060320

2009.12.09

下載c++學(xué)習(xí)心得word格式文檔
下載c++學(xué)習(xí)心得.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    C++學(xué)習(xí)心得(共5篇)

    關(guān)于VC的學(xué)習(xí)心得 關(guān)于C++這門課,其實(shí)我自己在大一時(shí)就接觸過(guò),那時(shí)候接觸的就是單純的一些C++的基本語(yǔ)法規(guī)則,基本的編程規(guī)則,這學(xué)期老師又在課堂上將這些基礎(chǔ)知識(shí)復(fù)習(xí)了一下,但......

    c++學(xué)習(xí)心得(共5篇)

    可以搜索“課本書(shū)名的學(xué)習(xí)”、“關(guān)于C++的學(xué)習(xí)方法” ㈠ 我是從c語(yǔ)言開(kāi)始的,后來(lái)學(xué)習(xí)c++,現(xiàn)在使用java,剛開(kāi)始接觸面向?qū)ο蟮母拍顣r(shí)跟你現(xiàn)在的情況一樣,不過(guò)經(jīng)過(guò)一段時(shí)間的實(shí)際......

    C++常用填空題

    一、單項(xiàng)選擇題(共20題,每題1分,共20分) 6、對(duì)重載函數(shù)形參的描述中,錯(cuò)誤的是 D A. 參數(shù)的個(gè)數(shù)可能不同 B. 參數(shù)的類型可能不同 C. 參數(shù)的順序可能不同 D. 參數(shù)的個(gè)數(shù)、類型、順......

    C++實(shí)驗(yàn)

    上機(jī)實(shí)驗(yàn): 1、 回文是指正讀,反讀均相同的字符序列,如“abba”和“abdba”均是回文,但是“good”不是回文,試用STACK類編寫(xiě)該程序。 #include #include #include int IsPalind......

    C++實(shí)驗(yàn)報(bào)告

    姓名:XX 學(xué)院:XXX 班級(jí):XXX 學(xué)號(hào):XXX - 1 i++; } while(i......

    c++學(xué)習(xí)方法

    學(xué)習(xí)C++應(yīng)該看的書(shū) 初級(jí):語(yǔ)法/語(yǔ)意(C++) 《Essential C++ 中文版》 ,侯俊杰 譯,282頁(yè) 《C++大學(xué)教程(第二版)》,邱仲潘等 譯,816頁(yè) 《C++ Primer 中文版》,侯俊杰 譯, 《標(biāo)準(zhǔn)C++寶......

    什么是c++(本站推薦)

    什么是c++? C++ C++這個(gè)詞在中國(guó)大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,“CPP”。 它是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。C++是一種......

    c++作業(yè)

    P179 5.9.2(11) 1. 意圖 保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。 2. 動(dòng)機(jī) 對(duì)一些類來(lái)說(shuō),只有一個(gè)實(shí)例是很重要的。雖然系統(tǒng)中可以有許多打印機(jī),但卻只應(yīng)該有一......

主站蜘蛛池模板: 久久综合九色综合欧美狠狠| 中文字幕av高清片| 国产 字幕 制服 中文 在线| 国产乱子伦一区二区三区四区五区| 国产超碰女人任你爽| 国产亚洲精品久久久久久老妇小说| 精品免费国产一区二区三区四区介绍| 国产熟女精品视频大全| 免费无码a片一区二三区| 日本免费一区二区三区中文字幕| 国产av电影区二区三区曰曰骚网| 天天躁日日躁狠狠躁欧美老妇| 四虎影视一区二区精品| 国产在线无码不卡播放| 中文乱码字慕人妻熟女人妻| 国产精品无码一区二区三区在| 在线亚洲欧美日韩精品专区| 九九热在线视频精品店| 亚洲国产另类精品| 2022久久国产精品免费热麻豆| 午夜性爽视频男人的天堂| 好紧好湿太硬了我太爽了视频| 国产最新av在线播放不卡| 国产盗摄xxxx视频xxxx| 亚洲精品久久久久中文字幕| 亚洲高清一区二区三区不卡| 性xxxx18免费观看视频| av无码免费永久在线观看| 亚洲精品无码久久久久av麻豆| 人妻丝袜无码专区视频网站| 免费无码av片在线观看潮喷| 日韩激情无码免费毛片| 欧美高潮| 亚洲在av极品无码| 亚洲精品久久久久久久久久久捆绑| 狠狠综合亚洲综合亚洲色| 午夜成午夜成年片在线观看| 白嫩少妇bbw撒尿视频| 亚洲欧洲日韩欧美网站| 亚洲精品国产v片在线观看| 中文有码无码人妻在线|