程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 學生信息管理系統

學生信息管理系統

編輯:C++入門知識

View Code


主要是通過設計一個學生類,然後通過類函數進行操作,設計了兩個全局變量,一個用來統計生成的學生對象數,另一個為學號起始數。裡面最主要的是加深了對析構函數和構造函數的理解,在下面一段代碼中,進行分析。

GStudent(){Stu_num = Stu_count+chushihua;Stu_count++;};
~GStudent(){Stu_count--;};


這段代碼我們可以看到是構造函數和析構函數,裡面分別對全局變量——學生計數變量進行了操作,每創建(銷毀)一個學生對象就會將計數器+1(-1),在調用時我們這樣來看

 GStudent *STU[ STU[Stu_count-] =  (*STU[Stu_count-]).Regester_stu(name,grade,banji,lwtittle,t_name,mark);

首先定義了一個學生類的數組指針,用來進行分配內存,便於空間管理。第二句創建了一個學生對象。但是這個時候我們看到sut_count原本為
0的,但是創建了一個學生對象後,變為1,這個時候將數組指針的STU[1],進行了動態內存分配,而不是STU[0]。(原本以為是先執行完了第二句,也就是跟STU[0]分配了空間才+1的,但是調試的時候發現STU[0]沒有被分配空間,反倒是從STU[1]開始的.經過思考發現,原來是忽略了構造函數會優先於任何程序執行的特點。)

至於析構函數,就簡單多了,只負責將學生計數器-1就行,在執行delete命令進行內存釋放後會自動執行,讓學生人數-1.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved