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

c++學習心得(共5篇)

時間:2019-05-12 14:52:02下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《c++學習心得》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《c++學習心得》。

第一篇:c++學習心得

可以搜索“課本書名的學習”、“關于C++的學習方法”

㈠ 我是從c語言開始的,后來學習c++,現在使用java,剛開始接觸面向對象的概念時跟你現在的情況一樣,不過經過一段時間的實際編程后,現在回頭再認真讀一下這兩個定義,發現自己有了許多深入的理解,感覺自己開始體會到當初那么多c語言的大牛為什么要轉到面向對象上來了。實際編程會對你的理解起到很大幫助作用的。

如果只是做些1000行以下的小程序,C++的優勢倒真體現不出來,現在的程序已經到了幾萬行,十幾萬行(已經不能稱為程序,是一個軟件系統),編寫的話需要很成熟的軟件工程來控制,C++的優勢就在于此,你所提到的繼承,虛擬,摸版,每一個概念都有軟件工程的基礎

真正的想理解C++,你應該先學OOA和OOD,因為首先面向對象是一種思想,是一種程序分析和程序設計的思想。面向對象可以可以很好的體現現實之間事務的關系。因而它是一種比較好的程序分析和設計方法。而C++語言不過是可以很好的實現這些方法的成果的一種語言,如果你愿意,你也可以用C來實現實現這些設計,一樣可以做到,只是難度更大一點。國內的程序員大多只注重編程,不注重分析和設計的能力,所以到最后學到了C++的時候就感到很迷茫。所以我建議你看看北大的翻譯過的一本《面向對象分析》和《面向對象設計》。我原來有,可惜丟了。

VC說穿了就是微軟提供給大家的一個C++編譯平臺而已。千萬不要將C++和VC這兩個不同的東西混淆了。正如樓上的幾位高人所說,學習C++是學習OO編程思想的精髓,而學習VC則是如何掌握和運用這個編譯平臺。之所以許多初學者被VC搞得頭昏腦脹(包括當時的我自己),那是因為VC和MFC里面包含有太多有關WindowsAPI的定義和結構,往往看了半天都不知道是干什么用的,因為每一項引深出去都是一大堆的未知,這樣也只能造成更加的迷惑和不解。

其實,我建議初學者大可不必早早的進入Windows編程這個領域,先把C++的基礎打牢,尤其是對OO編程要有一個很清晰的概念。那時你再學習Windows編程,將會容易得多,說穿了用MFC對Windows編程無非也就是按照微軟所事先定義好的一些規范和結構,對一些對象的來回調用而已,而這些Windows編程往往在整個軟件項目中只是占據了UI這一小部分。一個程序真正的內涵還是在于程序員對程序內容、框架和結構本身的一種創新。

有志者事竟成!大家千萬不要被困難所嚇倒,努力是不會白費的!

“有效的程序員不應該浪費很多時間用于程序調試,他們應該一開始就不要把故障引入。”

“程序測試是表明存在故障的非常有效的方法,但對于證明沒有故障,調試是很無能為力的。”

二 獻給所有C++初學者,只要你對C++有興趣。

見過太多得帖子問如何學習C++,也聽過很多人說找不到方法,其實所有人一開始都有這樣得困惑,我只想寫出自己的心得。

1、事必躬行。初學者開始最愛犯得毛病就是看書不動手,盡信書不如無書(我也反對),語言和平臺有關,任何平臺都不是絕對支持標準。大學C++老師開始上課就告訴我們了這個秘訣,而聽取得人不多,所以最后很大一批轉Java了。對于一個初學者來說,熟悉語法、鍛煉手感和培養思維最好得辦法就是code,照著書上(好書,大家認可得)敲,編譯,并思考,你會發現很多問題,解決問題的同時你正在提高。有首歌曲這樣唱:說到不如做到,要做就做最好。

2、不恥上問。初學者有時候礙于面子,抑或是怕人家笑話而不敢問問題。沒有必要,你問得人以前也是一樣過來得。前提找一個技術上大家認為強得,而且容易交流得。一開始你問得問題他一定可以解決,所以這個時候你如坐春風,一日千里;慢慢得你一定可以提出強人解決不了得問題(不管那方面技術),這個時候可以說你已經入門了,把強人解決不了任務解決掉,解決掉你自己一定很有成就感;慢慢得,你會發現你得問題強人基本解決不了,不是你超過他,而是你們關注領域不同,這個時候,你自己也成為強人了,嘿嘿!

3、否極泰來。在你專注一個技術極度郁悶得時候不要放棄,可以暫時放棄,但是請馬上回來,因為靈感在等你。黎明前確實是黑暗,但是到了黎明,下面就是很長一段得光明。我當初學習MFC三個月,連門都沒有進去,我非常懊惱,看著人家學VB得輕松就做出窗口程序,而自己還是在控制臺下苦戰,向導生成得代碼實在不懂。我也學習了幾天VB,然后不敢示弱得心把我拉回去,也不知道怎么回事,有一天靈感光顧,就這樣,輕松進門,只用了一周。以后學習數據庫編程,Socket編程也遇到類似得情況,我都挺過來。所以你可以試一下,靈感光顧得感覺非常美妙!!

4、盡善盡美。別太得意,盡管你已經是高手。不要認為解決一個問題就OK,實現了一個功能就了事,問下自己得解決方法是不是最簡單得,最優雅得,最容易被理解,最通用得......。山外有山,人外有人,多學習別人先進經驗,嚴格要求自己,追求完美,盡管完美追不到,至少你自己在提高。

三 根據我的經歷,我覺得最重要的是學好C++的基礎,也就是扎實的語法,盡管你可能覺得永遠都不會用到它,但它反映了你對這門語言的理解,這是很重要的。另外,有些遺憾的說,在大多數時候,C++主要還是用C的東西,除了類,C++似乎真的無用武之地了。面對對象?哎,真不想說!不過C++的庫倒是經常用,但是與C之間沒有很明顯的差異了

。四 關于要不要學習C++?(結論:要學,一定要學!)

如今在網上很多為要不要學C++爭的不可開交,因為現在JAVA,C#。NET都炒的很火,特別是JAVA,大有炸平廬山,停止地球轉動之勢。用林銳同志的話說,其實JAVA只是C++外甥,跑到舅舅身上撒了一泡尿而已。首先,我們從JAVA 的來歷上來說,JAVA的設計初衷是用來給家用電器設計程序使用的,最初設計者想用C++,但覺得C++太復雜,就在C++的基礎上做了一些簡化,設計出了JAVA,它的設計思想是跨平臺,所以必須先在運行平臺上安裝虛擬機,然后把源程序編譯成中間語言在運行。這是一個優點,但我們說任意優點都是建立在缺點上的,JAVA的缺點就是運行速度慢,這對于某些系統來說是致命弱點。況且,JAVA中沒有指針,對于制作系統軟件來說,這更是無法饒恕的。再來看C++。C++產生于美國貝爾實驗室,就是發明電話那個公司。設計初衷是用來改進C的開發效率,C是面向過程的語言,開發效率底,貝爾實驗室有大量的C程序員,所以只要在開發效率上提高一點點,就可以節約數目龐大的成本。C是什么東西?是用來代替匯編編寫操作系統的語言,用C++代替C,可以得出兩個結論:第一,C++必須具有同C相當的執行速度;第二,C++必須比C具有較高的開發效率。執行速度方面,C++的設計者的思想就是在改進開發效率的同時盡量不增加C++的系統開銷,當然有些地方非增加開銷不可,也把開銷控制在最小程度內。具非權威研究報告,C++比C的執行開銷多出不到10%。開發效率方面,C++引進了面向對象機制,庫機制,最大程度上實現了代碼重用,這是軟件開發人員的福音。C++在改進C的開發效率的同時,對C的缺陷做了一些修補。C的優點在C++中都得到了很好的保留,C的缺點在C++中都有了改進,有了更好的解決辦法。而且,為了現有的大量C程序維護,C++還全面兼容了C。縱觀當今程序語言家族,我覺得只有C可以C++相提并論,門當戶對,其它語言都無法和C++相提并論。無論從什么角度來說,C++都算的上語言中的老大。

如今,網上有很多關于C++的爭論,其實爭論的人都是一些不知情的人,絕大多數是學校里的學生,我也曾經這樣。在學校里的時候,不知道究竟應該學習什么,要是遇到好的老師還可以,遇到垃圾老師,垃圾學校那就更糟糕。如今,什么MCSE,CCNA,CIW等等認證漫天飛,把人搞的昏頭昏腦,其實這都是認證公司炒的。社會上需要的是有真才實學的人,而不是需要證書。

我從大二開始學習編程,一開始學習VB,后來學習DELPHI,再后來學習C#,再后來學習C++,繞了個大圈子,最后還是繞回來了。而且重新學習數據結構,操作系統,學習軟件工程,學習大學本科的基本課程,重新讀外國的程序設計名著,而這些以前在大學是不屑一顧的。勸如今還在學校的師弟師妹們,努力學習C++。

2。為什么要學習學習C++

1)C++的程序員身價普遍較高,當然,前提是你必須是高手。我所在的城市,那些公司根本就招不到合格的C++程序員,一方面C++程序員要求高,學習C++的人越來越少了。當然,懷著這個目的,你或許永遠無法成為C++高手,但我把這個原因放在最前面,可以給大家一個很明確的激勵,當你接觸C++后,發現從學習中獲得樂趣比高的工資更有動力;

2)C++的優勢是用來開發大型軟件,從中可以學到很多優秀的軟件設計思想。C++不是軟件開發的首選工具,一般說來,大多人更愿意學習和使用VB,為什么,簡單。簡單的另一個方面是功能的局限。微軟公司恨不的所有人都學VB,只有他一家會C++。容易上手,大家都喜歡學,喜歡用,很多人拿一本200頁的書,看個兩三個星期,就覺得自己是個程序員了,可以開發軟件了,而且覺得做出來的東西很不錯。當軟件規模大到一定程度的時候,其他語言就越來越無法駕馭,這時C++的優勢就體現出來了。你說做個成績管理系統,人事查詢系統,用VB,DELPHI,C#,JAVA都行,但是例如銀行,電信,保險,操作系統,數據倉庫,圖形處理,編譯系統,較底層的軟件時,其他工具幾乎是無法完成的。就說C++的指針,JAVA沒有,在遇到數據量交大的數據排序,搜索,動態內存分配時,它就沒有辦法了。所以說,學習C++,不僅僅是學到的一種語言,還學習了優秀的軟件設計思想。

3)學習C++可以學習到計算機底層的理論,即使不是用C++開發,對計算機運行機制的理解,對建制穩定的系統,對運用其他語言,也是一種促進。這一點,我是在學習過程中體會到的,所以,要說出個大家可以接受的理由來較難,大家以后學習就知道了。

3。怎樣學習C++?

首先,我們必須承認,學習要講究方法,有捷徑。其次,我們還得承認,學習要下苦功,要務實。上小學的時候,書上有個故事,是關于王羲之學習書法的:王獻之問他父親王羲之,學習書法的秘訣是什么,他父親把他帶到后院,指著18口大水缸說,你如果把這里的水都寫完了,就知道書法的秘訣在那里了。這個故事相信很多人都還記得。前幾天看梁肇新(豪杰公司老板)的《高手箴言》,他說如果你如果愿意利用5年時間來成為高手,那么你只要兩三年就會成為高手,如果你想一年成為高手,那么你5年也成不了高手。學習要切忌浮躁,要腳踏實地。我曾經很浮躁,結果一直呆在菜鳥堆里,當半年前我靜下心來學習C++,才感覺有真正的進步。現在做WEB開發,雖然我從來不看WEB開發的書,但是我的同事遇到問題時,我經常能一下說出問題的所在。因為你看問題的角度變了。所以,學習C++的第一個方法是:切忌浮躁。其實學任何東西都一樣,欲速則不達。從基本數據類型看起,從基本流程控制語句寫起。

其次,教材很重要,要看經典名著。

五 通過這門課程,增加了我學習軟件技術的興趣,雖然還不明確軟件技術包含的具體內容,但從C++語言這門課程開始,已發現程序設計的樂趣,在學習C++語言的過程中也學到了許多計算機應用基礎知識,對計算機的機體也有了一個大體的了解。

在實際操作過程中犯的一些錯誤還會有意外的收獲,感覺實訓很有意思。在具體操作中對這學期所學的C++語言的理論知識得到鞏固,達到實訓的基本目的,也發現自己的不足之出,在以后的上機中應更加注意,同時體會到C++語言具有的語句簡潔,使用靈活,執行效率高等特點。發現上機實訓的重要作用,特別是對數組和循環有了深刻的理解。

通過實際操作,學會 C++語言程序編程的基本步驟、基本方法,開發了自己的邏輯思維能力,培養了分析問題、解決問題的能力。深刻體會到“沒有做不到的,只有想不到的”,“團結就是力量”,“實踐是檢驗真理的標準”,“不恥下問”??的寓意。

計時在此希望以后應多進行這樣的實訓,加長設間,培養學生獨立思考問題的能力,提高實際操作水平。C(參考的別人博客。。。)六 學習C++的心得體會--最近一直在學習C++,看到這篇過去人的心得,讀之,有些共鳴,也意識到了一些問題。故引用在此,以紀念我學習C++的里程,從現在正式開始了,哈哈。

有50條哦,有些還是有價值的,可以關注一下的。

1.把C++當成一門新的語言學習(和C沒啥關系!真的。);

2.看《Thinking In C++》,不要看《C++變成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看; 4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑——他們都是集成開發環境,而我們要學的是一門語言;

5.不要放過任何一個看上去很簡單的小編程問題——他們往往并不那么簡單,或者可以引伸出很多知識點;

6.會用Visual C++,并不說明你會C++;

7.學class并不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺余力的博覽群書;

8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平并沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;

9.看Visual C++的書,是學不了C++語言的;

10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?

11.浮躁的人容易問:我到底該學什么;——別問,學就對了;

12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;

13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!

14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;

15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;

16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心里;

17.C++不僅僅是支持面向對象的程序設計語言;

18.學習編程最好的方法之一就是閱讀源代碼;

19.在任何時刻都不要認為自己手中的書已經足夠了;

20.請閱讀《The Standard C++ Bible》(中文版:標準C++寶典),掌握C++標準;

21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;

22.別指望看第一遍書就能記住和掌握什么——請看第二遍、第三遍;

23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;

26.請看《程序設計實踐》,并嚴格的按照其要求去做;

27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;

28.C++絕不是所謂的C的“擴充”——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯系得那么緊密;

29.請不要認為學過XX語言再改學C++會有什么問題——你只不過又在學一門全新的語言而已;

30.讀完了《Inside The C++ Object Model》以后再來認定自己是不是已經學會了C++;

31.學習編程的秘訣是:編程,編程,再編程;

32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟件構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;

33.記住:面向對象技術不只是C++專有的;

34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼;

35.把在書中看到的有意義的例子擴充;

36.請重視C++中的異常處理技術,并將其切實的運用到自己的程序中;

37.經常回顧自己以前寫過的程序,并嘗試重寫,把自己學到的新知識運用進去;

38.不要漏掉書中任何一個練習題——請全部做完并記錄下解題思路; 39.C++語言和C++的集成開發環境要同時學習和掌握;

40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;

41.就讓C++語言的各種平臺和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;

42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余下的部分粗略的完成以保證這個設計的完整性,然后分析自己的錯誤并重新設計和編寫(參見43);

43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;

44.決不要因為程序“很小”就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;

45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點并讓他理解——你能講清楚才說明你真的理解了;

46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;

47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;

48.保存好你寫過的所有的程序——那是你最好的積累之一;

49.請不要做浮躁的人;

50.請熱愛C++!

我是從去年開始學C的,也不學得很好,老師在課堂上講的是一些概念的東西,關于編程的習題很少,感覺自己好象已經把C學

懂了,但在編程的時候,怎么想也不想不出來,慚慚的對C已經失去了信心,多得一位網友指導使我重新開始學C,那是我第一次上CSDN的時候,我在社區里發了一條求助信息,是關于怎么學習語言的,一位熱心是朋友的回答,他詳細地說了他編程的成長過程,使我認識到,學習語言一定要多上機編程,自己去發現錯誤,然后一段時間后,在重新看自己的寫過的代碼,這樣下去,可以重新學到很多東西,自己去慢慢地體會吧,從那以后我慢慢地寫代碼,上機練習,從學C到C++,不過到目前也看不懂模板,學到了多態的時候,腦子很暈,看了幾很多次也沒有看,那時候真想放棄,不在學C++,然而我沒有,我試著慢慢地去深入,從虛函數開始,慢慢地了解多態,然后用學習多態的方法,學習模板,期中也多次看別人的代碼,等到模板已經學得差不多了,C++也了解個大概了。

這時可以,試著用VC寫代碼,畢竟以后是要在VC上寫的,但然還有很多其它的,(如BCB,GCC,etc)慢慢去了解Microsoft的窗口機制,做到語言與開發工具相結合的學習,這時多了解一下,軟件工程,了解一個軟件的開發過程,多去論壇,和朋友討論,多看代碼,一年以后可以有小成了,

第二篇:c++學習心得

c++學習心得

2008-03-12 16:24

為初學者指路

首先聲明,我可不是什么高手,也就是剛脫貧。因為運氣很好,買到了幾本好書,在學習過程中幾乎沒走什么彎路,沒費什么勁就入門了,現在一般的小程序能搞定了。看到那些因為不知從何下手而苦苦掙扎的朋友,希望我的文章能給他們一些幫助。

學編程急不得,上來就學VC肯定碰一頭灰,說VC難就難在這點上了。如果硬上,意志堅強的話也許能挺過來,但也是會缺乏后勁,不得不回過頭來補習基礎知識。意志不堅強的話,很有可能就此放棄了,并留下一個VC難得不得了的印象。其實,只要踏踏實實一步一步來,VC也就是很簡單點事。在這里我說一下,如果你還只是一個初中生,那么你就應當仔細考慮一下了。首先,限于你的知識和思維能力,學學C語言還應該沒問題,但要學VC是要下相當大的功夫的。而且,你現在學到的東西將來一定會過時,所以不如把精力放在算法的研究上,畢竟這些東西永遠都不會過時。

我覺著如果走對路子,入門VC,一個暑假應該夠用了。

雖說學VC并不是傳說的那么難,可不下些苦功夫是學不成的。在學VC前,你必須確定,你是因為熱愛編程才學VC的,而不是出于炫耀或其他。否則,恐怕你堅持不到勝利的那一天。

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

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

如果你已經有一些編程的基礎知識了,自然就可以跳過以上兩步。

等你對編程有一定的認識后,就應該開始進軍C++了.注意,是C++而不是VC,這兩者根本不是一碼事!別買VC入門,你肯定看不懂!C++是一門語言,而VC教程則是講解如何使用MFC類庫,學習VC應建立在充分了解C++的基礎上。

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

C++的標準類模板是個不錯的東東,不過對于學習MFC卻沒有幫助,原因是MFC太落后了(^_^),可以先放一放,要不要學等搞定MFC時再作決定。雖然我沒怎么學過,不過覺著它挺不錯,而且代表了一種發展方向。雖然學著費勁(那東西幾乎沒一點C++的樣子,簡直是在學新語言),但掌握它可使編程輕松不少。

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

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

少關于DirectX的書,只是一般人找不到罷了。學會了DirectX,就可以開始奮斗了,剩下的問題就只有積累經驗了。

對于志向是應用軟件的朋友,打好了基礎,現在進軍VC的障礙都已掃清了。不過還是應做好充分的思想準備,事情不會那么順利的。剛開始,你就要面對一個瓶頸,大量的緊密關聯的知識,使你必須一下理解一個整體,而很難一點點來。可以說,學VC最難的就是剛開始。情況有些類似于你第一次創建窗口時面對的那長長的程序,只不過更糟糕就是了。很多人就是在此被一大團知識噎著,放棄了學習。事實上,這幾乎是Windows編程的一大特點,在WIN32編程時你就應當有所體會,而DirectX和COM都有類似問題。記住,一定要堅信:突破了這個瓶頸之后便是一片海闊天空,而有著扎實基礎的你是一定能闖過去的。

我的建議是,不要等徹底弄明白一句才看下一句,而是知道好像怎么回事就向下看,實在看不懂也硬著頭皮往下看,等能比貓畫虎的作出個菜單、對話框時便回過頭再看一遍,幾遍之后應該就可以大概明白MFC程序的運作了。注意:這里有個關鍵,一定要用心體會面向對象編程的精神,努力將眼前的程序與你之前所學的知識聯系起來。通過比較成員函數和對應的API函數間的區別,嘗試去理解MFC是怎樣封裝相關的API的。例如,相當多的類將句柄封裝了起來,在傳遞參數時加以省略,這就是一個很重要的特性。MFC中有許多的宏,看起來很奇怪,但你不必理會其實現方法,只要知道如何使用便可,這點也很重要。還有,千萬不要過于依賴ClassWizard,對于其生成的代碼要自己進行分析,偷懶就不能真正理解MFC。

這里我介紹一種學法,不過學法這種東西因人而異,所以還要根據個人的情況決定。開始時,教程讓怎么辦就怎么辦,比貓畫虎的作出個菜單、對話框,然后試著添加控件。等能不看教程便做到這些時,開始逐字逐句的試著理解MFC程序的組織。若看不懂就跳過看下面的。就這樣一遍一遍來。如果覺著頭大就先歇上兩天,等清醒了再接著來.最好在這期間多找些介紹MFC框架的文章。注意:先不要碰有關文檔/視結構的東西,否則你會更頭大。然后便可試著寫個定時器、名片夾之類的小東西,熟悉一下各種控件的使用。突破了開始的瓶頸之后再學下去便會越學越容易,因為你可以一點一點的積累知識,而不用擔心被噎著了。再過不久,你就不得不開始使用API函數完成一些功能,如在系統托盤加圖標,自畫列表框等。這時,你也會體會到學習WIN32編程的好處了,沒學過的人很可能就此卡殼。

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

有較多的控件介紹的。當然,文字流暢也是很重要的。書不要買太多,最多兩本,因為這些書內容都差不多,買多了的話東看西看反倒沒好處。在這里,我建議初學者先別急著掏錢,而是去VC王朝(http://vcdynasty.yeah.net/)下載本MFC教程。雖說是網上教程,卻當相當有水準。不但內容比較全面,還一句廢話也沒有(這里感謝作者的辛勤勞動)。只是可惜對GDI沒有一點介紹,還須其他書籍作補充。等搞定這本教程時,應該就已經入了門,可以有針對性的選購書籍,不用擔心上當受騙了。還有,VC知識庫()的網上雜志也很不錯,對剛入門的人很有幫助,建議下載。入了些門后,各個網站多轉轉,看見好文章就往下拉,對提高水平很有好處。

一套MSDN光盤在這時是必不可少的,什么都找中文資料是不可能的,即使能找到也會很費時間和金錢,只能看硬著頭皮英文。不過以我的經驗看,只要有高中水平的英語,加上金山詞霸一路滑過去,看那種專業文章還是很容易的。還有,初學者一上來可能根本不知道上哪找需要的東西,我在這里把常用的地方列一下:

WIN32 API:平臺SDK->Reference->Win32 Functions in Alpha Order

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

目前市面上的MSDN光盤已經有一段歷史了,有些東西可能有些過時。要最新資料的話,可以到微軟的網站(當然是全英文的)。不過對于初學者似乎沒有必要。

搞定VC后,要學什么都隨你便了,再學C++Builder,VB,Dephi,java什么的都是一點難度都沒有了,感覺就象是把關鍵字換了換。或者可以去啃啃COM,據說那是塊硬骨頭(不過好像也只是入門難,因為有了之前的經驗,雖然我沒碰過,但花點時間應該是搞得定的。另外DirectX編程經驗在此應該是有些幫助的)。

最后,我建議有時間的話多研究一下各種算法。數據結構是一定要看的。不一定要記住(話說回來,不經常用的話也記不住),但至少要知道有那么回事,萬一碰到問題了要知道往那邊*。其實,常見的鏈表等結構以及排序等算法在C++標準類模板中已經實現了,不用你去費勁,但有些了解的總是有好處的。至于離散數學、線性代數什么的,對于復雜些的算法是必需的,其中離散數學是數據結構的基礎。不過,我倒覺著只要不是太復雜的問題只用經驗也能解決(就象奧賽書中那樣,只是實現而沒有證明),而且那些東西不用就會忘。萬一碰見個難題解決不了,找個高手幫忙也不錯,省時省力^_^。

下面是我想到的一些雜七雜八的問題,沒什么條理,湊或看吧:

英語水平不用很高,但至少要有高中水準,否則有你受的。

看書一遍看不懂沒關系,事實上,要一遍就能弄懂你就很有天分了。只要多看幾遍,綜合分析,應該是沒有什么問題的。

現在的世道,不是書到用時方恨少,而是書到用時方能學。不要試圖滿把抓,而要用到什么學什么。這樣,學的又快,記的又牢。

一個錯誤認識-學編程*的是記憶:這是很要命的思想,會讓你累死而無所得。事實上,你幾乎不用特意記任何東西。對于各種函數、語句,只要知道有那么個東西,用的時候知道上哪找就行了,用多了自然就記住了。學編程關鍵在理解編程思想。

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

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

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

編程不是技術活,而是體力活:學的時候滿腦子全是技術,可用的時候就真成了體力活了。真正做起東西來,最重要的是要有毅力堅持到完。意志不堅強就難免半途而廢。關于初學者是該學VC還是該學VB的問題:我覺著,學VC會難一些沒錯,但掌握學習方法的話也沒想象的那么難,而且學VC才能深刻領會面向對

象編程的精髓。它使你的思想提升了一個高度,對以后的發展是大有好處的。再說,如果這點困難都克服不了,以后也很難有什么作為。所以,即使你打定主意用VB,也還是花些時間看看VC,至少知道它的大概結構。從長遠看,這是很有好處的。

關于學C++ Builder還是Visual C++的問題:也許VC真的不太好,但總不會太糟。可關于VC的資料不知是關于C++ Builder的多少倍。尤其對于初學者,這時很要命的!何況兩者相差其實并不太多,學會了一種,再學另一種也不會太費事。

第三篇:C++學習心得

C++學習心得

在計算機課程中,C++程序設計是計算機專業的一門必修基礎課,該語言以其高效而又實用的特性:既可以進行過程化程序設計,又可進行面向對象的程序設計,是進行軟件開發的直接工具。

學習語言是需要技巧的,無論是哪種語言,里面都是有規律的。對于計算機語言來說,我認為應該先理解,然后上機去實現它,實踐是檢驗真理的唯一標準。

C++語言課程是一門實踐性很強的課程,一定要動手多寫設計、編寫程序才能有所進步。在實踐教學中必須做到循序漸進,對所學的每一部分內容都應該要求學生完成一定數量的實驗內容。每部分的上機習題必須精心挑選,既要有基本的、較簡單的題目,又要有一些具有挑戰性的新穎有趣的題目。自己編寫的程序一定要到機器上去實現,通過調試程序來修訂語法錯誤,排除邏輯錯誤,進而提高編程能力,通過做一定量的習題,可以積累一定的經驗,同時對程序設計的精髓會有所領悟,從而重視上機實驗。

實踐重要,老師的教學方法同樣重要。要強調學以致用,展示學生能夠理解而且又容易提起興趣的用C++語言設計的軟件以及往屆學生的設計成果,給學生布置了幾個專題,比如:設計班級成績管理系統、簡易的圖書管理系統、簡易的通訊錄管理系統、小游戲等讓學生利用課余時間去思考、收集資料,以教師為主導,以任務為主線,以學生為主體,過一段時間在課堂上組織學生發言和討論一次,看看大家對這些問題的思考程度,提提建議,鼓勵加引導,最后到完成。這種教學法不僅可以讓學生獲得許多課外知識,同時也促進教學內容的改革,而且也有利于充分挖掘學生的學習潛力。

當然,僅靠一個學期的C++語言的學習是遠遠不夠得,需要在后續課程中進行鞏固提高。C++兼容C語言,C語言是C++的子集,我們把C語言和C++融合為一門課程,第一學期授課以C語言為主,第二學期講授以C++為主,所有程序都以VC++為調式環境。經過這樣的整合,知識內容顯得很連貫,一氣呵成,為第三學期的Windows程序設計課程奠定了基礎。后繼的數據結構、算法分析與設計、計算機網絡原理等課程實踐環節都利用C++語言進行開發,開展3年不間斷的C++編程訓練。

第四篇:C++學習心得

關于VC的學習心得

關于C++這門課,其實我自己在大一時就接觸過,那時候接觸的就是單純的一些C++的基本語法規則,基本的編程規則,這學期老師又在課堂上將這些基礎知識復習了一下,但是我們都有這樣的困惑:課堂和教材的 內容基本上都能接受和理解,但真要實際動手編寫程序又感到腦袋一片空白而無從下手;其二,整個課程的所有內容好不容易學完了,但對編寫實用化的程序,總感到眼花繚亂而無法下手,真個兒“欲起平之恨無力”。以至于在很長一段時間里在我的內心里產生了一種學習C語言和C++的恐懼感,認為自己不是學C語言和C++的料,將來打死我也不會朝C語言和C++的方向發展。

俗話說:萬丈高樓起平地!C++雖然是與C語言的編程思想有著截然不同的套路,但是作為C語言的擴充,他的基礎部分還是在C語言。所以課下我又將C語言的基礎部分知識自己熟悉了一遍,并將其與C++中的語法規則關鍵字的用法比較了一番,從最小的部分對兩門語言進行了深入的學習。

本以為學習到這里我的C++深入學習之路已經完成了一大半,自己再學習一些算法什么的就可以結業,用這門語言去找一門好的工作了,但是我發現自己還是太天真了,就是掌握一些數據結構的算法就想去搞軟件開發工作確實太天真了,下面想說的是這學期的學習重點了--面向對像的可視化集成編程系統。

于是我們就這樣稀里糊涂的接受了MFC的編譯開發,本以為這種開發也就是一些簡單的C++,程序的編寫,深入了解后發現這兩者的差別其實很大的。記得書上說過,Visual C++ 不僅僅是一個編譯器。它是一個全面的 應用程序開發環境,使用它你充分利用具有面向對象特 性的 C++ 來開發出專業級的 Windows 應用程序。為了 能充分利用這些特性,你必須理解 C++ 程序設計語言。掌握了C++,你就必須掌握 Microsoft 基本類庫(MFC)的層次結構。該層次 結構包容了 Windows API 中的用戶界面部分,并使你能夠很容易地以面向對象的 方式建立 Windows 應用程序。這種層次結構適用于所 有版本的 Windows 并彼此兼容。你用 MFC 所建立的代 碼是完全可移植的,這樣就大大加快了開發的效率問題。

首先,你要 決定什么樣的用戶能使用該程序并根據需要來設置 相應的用戶界面對象。Windows 用戶界面有一些標 準的控制,如按鈕、菜單、滾動條和列表等,這對 那些 Windows 用戶已經是很熟悉了。要記住的是,作為程序員必須選擇一組控制并決定如何把它們 安排到屏幕上。傳統上,你需要在紙上做一下用戶 界面的草圖,直到對各元素感到滿意為止。這對于 一些比較小的項目,以及一些大項目的早期原型階 段是可以的。

下一步,是要實現代碼。為任何 Windows平臺建立應用程序時,我們選擇的是 C++。使用 C++,程序員是在 Windows 應用程 序界面(API)的水平上編寫代碼。該界面是由 多個 C ++函數所組成,Microsoft 也提供了基本類庫(MFC),該庫的主要優點是效率高。它減少了大量在建立 Windows 程序 時必須編寫的代碼。同時它還提供了所有一般 C++ 編程的優點,例如繼承和封裝。使得MFC 是可移植的。后續的開發也就是基于這些庫的基礎上來實現一些軟件的功能特點的。

在學習方法上覺得,在面向對象的程序設計中,對象具有狀態(屬性)和行為,狀態保存在成員變量中,行為通過成員方法(函數)來實現。C語言中的結構體只能描述一個對象的狀態,不能描述一個對象的行為。在C++語言學習中,對結構體進行了擴展,C++的結構體可以包含函數。

學習語言是需要技巧的,無論是哪種語言,里面都是有規律的。對于計算機語言來說,我認為應該先理解,然后上機去實現它,實踐是檢驗真理的唯一標準。代碼量的積累對于一個程序員來說太重要了,這也是區分程序員之間水平的一個標準,這就像我們小學剛開始學習英語一樣,每個人都是從26個字母開始學的,C++也是一樣,先從簡單的代碼塊開始記憶,反復記憶,每周進行周期性的階段復習,每天要求自己敲500行代碼,找到敲代碼的感覺,這個感覺很重要,一旦養成每天敲代碼的習慣,我想這就是走向成功的開始。

嘗試看一些小程序的代碼,主要看編程者的思路、整理流程、框架格式、用到哪些函數?哪些變量?一點一點去剖析。溝通是一個必不可少的環節,任何一個項目的完成都是離不開團隊合作的,學習也是一樣,閉門修煉,只會造成思維定視,經常跟學的比自己好的同學進行溝通,這是有效的提高自己水平的一種途徑,有時會發現自己找到世外桃園,那真是豁然開朗。

對于學習,主要還是要自己努力,老師已經教的很仔細了,但是學習的主動權在我們手中。我們要對這門語言要有興趣。可能會有很多不知道,不理解的地方,當時我們應該多思考,借助一些書籍及網絡的條件,進一步理解和體會。把自己學習的東西融會貫通就好了,主要還是在于對于課本的理解,主要還是自己領悟。

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

第五篇:C++學習心得小結

C++的學習心得

注意:因為我們在實驗室大多是以項目為基礎來學習C++,這樣可能導致我們不能形成一個知識體系,所以建議大一同學腳踏實地的從頭學習C++,即使時間不充裕的大

二、大三同學在學習時也要做好筆記,以便下次遇到同樣的錯誤能很快解決。

介于大多數人都要學C語言,所以本文就以C++與C語言的對比開始。

要區分C語言和C++的不同,首先要想明白,用磚頭建造城市、用房屋建造城市與用兩者共同建造城市的不同。1.想要學C++必須掌握C語言的基礎運用,這要從C++的產生說起。C++其實并不是一個新的計算機語言,它只是在C語言的基礎上預先編寫好了很多函數。所以如果把C語言比為磚塊,那么C++就是有磚塊組成的一些小的建筑。所以學習C++必需先掌握C語言的基礎運用。2.C語言和C++哪個難?

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

就我最近對C++學習時遇到的一些問題來看,C++在語法上基本與C語言一致。但是由于房屋是別人建的,要使用它就要明白它們的建造過程(當然有些我們只要直接使用就行了,尤其是在前期)。而C++中封裝的函數,也是C++的開發者已經建好的,所以我們要很好地使用它們就要明白它們的建造方式,至少要知道它們的使用語法。

4.C++語言與C語言的不同之處(準確的說應該是來看看C++開發者已經為我們做好了什么)

注意:以下只是我在編寫六維鼠標時遇到的,不全面,其余區別大家可以在以后的學習中自己摸索。1)c語言后綴.c,c++后綴.cpp。

2)當函數定義放在函數調用之后時,C程序的函數原型即聲明有時可省略,而C++的函數聲明不能省略,而且還要求函數的所有參數在函數原型的圓括號中聲明。一個不帶參數的C函數原型必須使用void關鍵字,而C++函數原型可以使用空參數表。

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

//不加;只是文本替換此后不再檢查,可能產生負作用 Const int size=20;//加;替換時進行嚴格檢查,只有當size是int型時才替換。

C++面向對象的程序設計

概述:面向對象不只是一種程序設計方法,還是一種建立客觀事物模型、分析復雜事物的思想方法,他是以人們通常描述現實世界的方法來描述要解決的問題。

1.結構化程序設計:是一種自頂而下、逐步求精的模塊化程序設計方法。

類:對象是累的一個實例。類=數據結構+對數據進行操作的函數

面向對象的程序設計的基本特征:抽象、封裝、繼承和多態。

抽象:對一類對象進行概括,抽出他們共同的性質并加以描述的過程。

封裝:將抽象得到的屬性數據和行為代碼有機的結合,形成一個具有類特征的統一體。繼承:一個新類可以從已有的類派生而來。

多態:不同對象對于同樣的施加于其上的作用會有不同的反應。2.類的定義與實現:

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

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

4.對象:對象是類的一個實例,定義并實現了類,就可以利用類來聲明對象,其形式與普通變量的聲明類似。

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

Time t1,today;//聲明對象t1,today //聲明指向對象t1的指針pt1

Time *pt1=&t1;

聲明對象后,就可以像引用結構變量一樣,利用成員運算符“.”或指向運算符“->”引用對象的公有成員,但注意不能引用對象的非公有成員。如:pt1->setTime()或t1.showTime()5.構造函數和析構函數:在聲明對象時,對象一般需要進行初始化,及對成員變量進行初始化。在定義類時不能對成員變量進行初始化,因為不能確定類中定義的成員變量是屬于哪一個對象。

構造函數:是一種特殊的成員函數,特殊性在于:它不需要用戶程序調用,就能在創建對象時由系統自動調用。其作用就是在對象被創建時利用初始值去構建對象,使得在聲明對象時就能自動地完成對象的初始化。析構函數:是在對象的生存期即將結束時由系統自動調用的。析構函數的作用與構造函數相反,用來在對象被刪除前做一些清理工作和數據保存工作。

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

6.靜態數據成員在儲存類型上類似于一般的static靜態變量,也具有全局性。

靜態數據成員的屬性也可以是公有、私有或保護的。對于公有靜態數據成員,除了可以像一般數據庫成員那樣,直接通過對象或在成員函數中訪問它們,還可以利用類名加作用域限定符(::)來訪問他們。對于私有和保護屬性的靜態數據庫成員,只能在成員函數中訪問它們。

由于靜態數據成員不具體屬于哪一個對象,因此不能構造函數或其他成員函數中對他們進行初始化,他們的初始化必須在類體外進行。

注意:靜態成員函數只能訪問類的靜態成員(成員變量和成員函數),而不能訪問非靜態函數。解決這個問題的方法是將對象作為靜態成員函數的參數,然后在靜態成員函數中通過對象訪問非靜態成員。

7.this指針:在成員函數中訪問數據成員或調用其他成員函數不需要指定對象,因為他們都是通過一個隱藏的this指針確定當前的對象。

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

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

8.友元

定義:友元的另一種類型是友元類,一個類可以聲明另一個類為其友元類,友元類的所有成員函數都可以訪問聲明其為友元類的所有成員。

構成:一個函數要成為一個類的有元函數,需要在類的定義中聲明該函數,并在函數聲明的前面加上關鍵字friend。

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

9.常對象和常對象成員:對于急需要共享又需要安全的數據,可以利用const來進行保護。

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

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

void MemberFun()const;在常成員函數中只能調用常成員函數,而調用其他普通函數可能會造成簡介修改數據成員。

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

語法如下:

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

例如:

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

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

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

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

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

下載c++學習心得(共5篇)word格式文檔
下載c++學習心得(共5篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    C++語言學習心得

    C++語言程序學習心得體會 通過一學期對C++語言的學習,我感覺C++語言是有一定難度卻又是非常有趣的科目。也是很有幫助的,對我們未來工作學習而言。我們可以通過C++語言進行更......

    C++學習心得(精選5篇)

    C++讀書心得 C++是從C語言發展而來的,繼承了C語言的特點(可以直接訪問硬件)并增加了許多特性(封裝、繼承、多態),更適合大型軟件的開發,比起JAVA來, C++更適合底層系統開發,并在網游3......

    c++實習(共5篇)

    實驗教學內容 實驗 循環的使用 已知abc+cba=1333,其中a,b,c均為一位十進制數,滿足條件的a,b,c所有組合。 x+y+z=1003x+2y+0.5z=100百元買百雞 10——2 10——8 10......

    C++常用填空題

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

    C++實驗

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

    C++實驗報告

    姓名:XX 學院:XXX 班級:XXX 學號:XXX - 1 i++; } while(i......

    c++學習方法

    學習C++應該看的書 初級:語法/語意(C++) 《Essential C++ 中文版》 ,侯俊杰 譯,282頁 《C++大學教程(第二版)》,邱仲潘等 譯,816頁 《C++ Primer 中文版》,侯俊杰 譯, 《標準C++寶......

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

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

主站蜘蛛池模板: 亚洲女久久久噜噜噜熟女| 超碰97人人模人人爽人人喊| 日韩人妻无码中文字幕一区| 久久久中文字幕日本无吗| 久久中文字幕乱码久久午夜| av天堂午夜精品一区| 亚洲午夜私人影院在线观看| 色婷婷国产精品高潮呻吟av久久| 免费人成在线观看网站| 无码一区二区波多野结衣播放搜索| 国产男女猛烈无遮挡免费网站| 久久香港三级台湾三级播放| 极品少妇一区二区三区四区| 国产成本人片无码免费| 成人影片麻豆国产影片免费观看| 无码人妻精品一区二区蜜桃网站| 亚洲av无码一区二区三区dv| 国内精品久久久久久无码| 成人h无码动漫超w网站| 国产午夜理论不卡在线观看| 久久亚洲精品国产精品婷婷| 久久久久亚洲精品天堂| 亚洲精品一区二区三区麻豆| 国产在线精品一区二区不卡| 国产一区二区三区在线电影| 4hu四虎永久免费地址ww416| 亚洲欧美日韩国产成人| 久久综合日本久久综合88| 国产精品久久久久不卡绿巨人| 国产99久久久国产精品~~牛| 亚洲v欧美v国产v在线观看| 狠狠躁18三区二区一区ai明星| 免费久久人人爽人人爽av| 又大又粗又爽免费视频a片| 一本色道久久88—综合亚洲精品| 毛片a久久99亚洲欧美毛片| 亚洲国产精品一区二区九九| 日韩高清在线观看永久| 国内精品综合久久久40p| 亚洲精品国产美女久久久| 久久99成人免费|