• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      《 C++程序設(shè)計》課程教學(xué)中綜合案例的設(shè)計與實踐

      2013-08-15 00:48:29張玉軍
      河南科技 2013年8期
      關(guān)鍵詞:數(shù)組長度成員

      張玉軍

      (遼寧科技大學(xué) 軟件學(xué)院,遼寧 鞍山 114051)

      目前C++語言的教學(xué)資料一般集中在對語法的講授上,使用的案例也是為了配合語法的講解。但是C++語言內(nèi)容多、知識點分散、語法靈活,依靠死記硬背肯定得不到好的學(xué)習(xí)效果。可以給學(xué)生提供合理的綜合案例,將孤立枯燥的C++語法融入到綜合案例中,從而將各章節(jié)的內(nèi)容銜接起來。

      1 綜合案例內(nèi)容設(shè)計

      1.1 類與對象

      講解完類的定義以后,設(shè)計一個處理一維整型數(shù)組的順序表類List,實現(xiàn)數(shù)組元素的插入,刪除,查找,輸出等功能。在主函數(shù)創(chuàng)建List類的對象,調(diào)用各成員函數(shù)驗證代碼的正確性。

      List類設(shè)計如下:

      數(shù)據(jù)成員:

      int data[MaxSize];//存儲元素

      int length;//順序表實際長度,即數(shù)組中實際元素個數(shù)

      成員函數(shù):

      (1)初始化void Init()

      功能:設(shè)置數(shù)據(jù)成員length的值為0。

      (2)獲取順序表實際長度int Length()

      功能:獲取順序表實際長度,即返回length的值。

      (3)查找int Get(int i)

      功能:查找下標為i的元素的值,即如果i的值有效,則返回元素data[i]。

      (4)插入void Insert(int i,int x)

      功能:在下標i處插入x,即如果i的值有效,將i后面的元素后移,然后data[i]賦值為x,線性表實際長度加1。

      (5)刪除int Delete(int i)

      功能:在下標i有效的前提下,刪除該元素,返回被刪除元素的值,被刪除元素后面各元素前移,線性表實際長度減1。

      (6)輸出void Display()

      功能:輸出線性表,包括線性表實際長度和各元素。

      1.2 構(gòu)造函數(shù)、析構(gòu)函數(shù)

      講解完構(gòu)造函數(shù)后,為順序表類List增加構(gòu)造函數(shù)、析構(gòu)函數(shù)和拷貝構(gòu)造函數(shù),將靜態(tài)數(shù)組改為動態(tài)數(shù)組,在主函數(shù)中增加菜單功能進行測試。

      List類設(shè)計如下:

      數(shù)據(jù)成員:

      int MaxSize;//順序表的最大長度

      int*data;//存儲元素

      int length;//順序表實際長度

      新增或修改的成員函數(shù)

      (1)構(gòu)造函數(shù)List(int size=100)

      功能:動態(tài)申請長度為size的數(shù)組,將size賦給MaxSize,length賦值為0。

      (2)拷貝構(gòu)造函數(shù)List(const List&r)

      功能:實現(xiàn)深拷貝,當前對象的data指針先申請空間,然后再將順序表r中的數(shù)據(jù)復(fù)制到當前對象。

      (3)析構(gòu)函數(shù)~List()

      功能:釋放由構(gòu)造函數(shù)動態(tài)申請的內(nèi)存空間,delete[]data。

      1.3 友元

      講解完友元函數(shù)后,增加友元函數(shù)Merge,實現(xiàn)兩個順序表的合并。List類新增的成員函數(shù)如下:friend void Merge(List&La,List&Lb)。

      1.4 類模板

      講解完類模板后,將順序表類List改為類模板。為更好地體現(xiàn)模板,在案例中添加學(xué)生類Student,體現(xiàn)出List改為模板后不但可以處理基本數(shù)據(jù)類型,還可以處理自定義數(shù)據(jù)類型。

      1.5 繼承與派生

      講解完繼承與派生后,以順序表類List為基類,派生棧類SeqStack,實現(xiàn)壓棧、彈棧、取棧頂元素,判斷??盏裙δ埽身樞虮眍惻缮鰲n?。順序表類List保持不變,棧類SeqStack的成員函數(shù)為:

      (1)壓棧成員函數(shù)void Push(int x)

      功能:在棧不滿的前提下,即Length()!=Maxsize(),調(diào)用類List的成員函數(shù)Insert(Length(),x),在位置Length()處插入x。

      (2)彈棧成員函數(shù)int Pop()

      功能:在棧非空的前提下,即Length()!=0,調(diào)用List的成員函數(shù)。Delete(Length()-1),刪除棧頂即位置為Length ()-1的元素。返回被刪元素。

      (3)取棧頂元素成員函數(shù)int Gettop()

      功能:在棧非空的前提下,即Length()!=0,調(diào)用List的成員函數(shù)。Get(Length()-1),獲取位置為Length()-1的元素的值。

      1.6 多態(tài)性

      講解完多態(tài)后,為學(xué)生類Student類增加<和<<運算符重載,擴充順序表類模板功能。

      2 結(jié)束語

      通過引入綜合案例貫穿各個章節(jié),每章對案例逐步完善,使得各章的知識點都融合在綜合案例中,更加有利于學(xué)生理解和掌握,有利于知識的融會貫通,收到很好的效果。

      [1]張軍,婁偉.實踐教學(xué)改革與培養(yǎng)創(chuàng)新人才的研究與探討[J].實驗技術(shù)與管理,2006,23(6):108-109.

      [2]李學(xué)會.C程序設(shè)計教學(xué)改革與實踐[J].實驗室科學(xué),2010(2):33-34.

      [3]張錦祥.高級程序設(shè)計語言課程教學(xué)改革與實踐[J].浙江教育學(xué)院學(xué)報,2007(7):71-76.

      猜你喜歡
      數(shù)組長度成員
      主編及編委會成員簡介
      主編及編委會成員簡介
      主編及編委會成員簡介
      主編及編委會成員簡介
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      1米的長度
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      愛的長度
      怎樣比較簡單的長度
      不同長度
      讀寫算(上)(2015年6期)2015-11-07 07:17:55
      枝江市| 雅安市| 深圳市| 温泉县| 五莲县| 泗阳县| 桃源县| 永清县| 宜昌市| 从江县| 新绛县| 咸丰县| 疏附县| 阳信县| 韶山市| 武胜县| 龙川县| 兰州市| 镇平县| 安吉县| 林州市| 桐梓县| 清苑县| 临汾市| 大城县| 安康市| 轮台县| 洛隆县| 乐至县| 芜湖市| 鹰潭市| 定远县| 涡阳县| 芦山县| 上犹县| 松原市| 山西省| 精河县| 武义县| 古交市| 屯昌县|