C++ 靜態變數的使用練習
阿新 • • 發佈:2018-12-19
C5-2 數老鼠
(100/100 分數)
題目描述
請實現一個老鼠類,下面已給出程式碼模板,請根據main函式中對該類的操作,補充類實現部分完成程式碼。
該類有個公有靜態變數num記錄該類的所有物件數,主函式將會在不同語句之後輸出物件數,只有正確地實現該類,保證num正確記錄該類的物件數,才能輸出正確的結果。
#include <iostream> using namespace std; class Mouse{ /* Your code here! */ }; void fn(Mouse m); int main() { Mouse::num = 0; Mouse a; cout << Mouse::num << endl; Mouse b(a); cout << Mouse::num << endl; for (int i = 0; i < 10; ++i) { Mouse x; cout << Mouse::num << endl; } fn(a); cout << Mouse::num << endl; return 0; } void fn(Mouse m) { cout << Mouse::num << endl; Mouse n(m); cout << Mouse::num << endl; }
輸入描述 輸出描述
主函式的輸出已經寫好
樣例輸入 樣例輸出
這裡顯然num為靜態變數,注意有一個外部函式fn呼叫,說明num是public類的,完整程式碼
#include <iostream> using namespace std; class Mouse { /* Your code here! */ public: static int num; Mouse() { num++; } Mouse(Mouse &p) { num++; } ~Mouse() { num--; } }; int Mouse::num = 0; void fn(Mouse m); int main() { Mouse::num = 0; Mouse a; cout << Mouse::num << endl; Mouse b(a); cout << Mouse::num << endl; for (int i = 0; i < 10; ++i) { Mouse x; cout << Mouse::num << endl; } fn(a); cout << Mouse::num << endl; return 0; } void fn(Mouse m) { cout << Mouse::num << endl; Mouse n(m); cout << Mouse::num << endl; }