網易雲課堂_C++程序設計入門(下)_第7單元:出入雖同趣,所向各有宜 – 文件輸入和輸出_第7單元 - 作業1:OJ編程
阿新 • • 發佈:2017-07-07
c++ detail using span 換行 tro size str cout
第7單元 - 作業1:OJ編程
查看幫助
溫馨提示:
1.本次作業屬於Online Judge題目,提交後由系統即時判分。
2.學生可以在作業截止時間之前不限次數提交答案,系統將取其中的最高分作為最終成績。
本作業是第7單元作業系列。
本單元【多個作業】之間有【前後依賴關系】。
本單元作業應【按照次序】完成。
依照學術誠信條款,我保證此作業是本人獨立完成的。
1 閱讀所給的代碼,理解代碼的主要功能及原理 補充缺失代碼 提交OJ判分(10分)題目內容:
以單例模式創建一個屏幕Screen對象。
具體內容及作業要求,請參見 【第七單元第X節】 的 【單元作業1說明】。
輸入格式:
用空格分開的兩個整數,代表屏幕分辨率
輸出格式:
用空格分開的兩個整數,代表屏幕分辨率。隨後有換行符
輸入樣例:
800 600
輸出樣例:
800 600
時間限制:500ms內存限制:32000kb
#include <iostream> #include <limits> using namespace std; class Screen { private: //----補充多個數據域成員 // 在Screen類中獲取/釋放圖形窗口資源,是一種RAII方法 // 關於RAII,可以參見異常處理單元的材料 unsigned int width; unsigned int height; static Screen *instance; Screen(unsigned int width, unsigned int height) { // 如果啟用了圖形庫,則將初始化圖形模式的函數置於此處 // initgraph(width_, height_); this->width = width; this->height = height; }; ~Screen() { // 如果啟用了圖形庫,則將關閉圖形模式的函數置於此處 // closegraph(); delete instance; instance = NULL; } public: //----補充 getWidth() 與 getHeight() 函數, unsigned int getWidth() { return width; } unsigned int getHeight() { return height; } static Screen* getInstance(unsigned int width = 640, unsigned int height = 480) { // 單例模式 //----補充函數體 Screen* ret = instance; if (ret == NULL) { instance = new Screen(width, height); ret = instance; } return ret; } }; Screen* Screen::instance = 0; //----補充Screen類的特殊數據成員初始化語句 int main() { int width, height; Screen* screen = 0; cin >> width >> height; screen = Screen::getInstance(width, height); screen = Screen::getInstance(); cout << screen->getWidth() << " " << screen->getHeight() << endl; // GCC及VC編譯器在調試模式下會暫停,便於查看運行結果 #if ( defined(__DEBUG__) || defined(_DEBUG) ) cin.ignore(numeric_limits<streamsize>::max(), ‘\n‘); cin.get(); #endif return 0; }
網易雲課堂_C++程序設計入門(下)_第7單元:出入雖同趣,所向各有宜 – 文件輸入和輸出_第7單元 - 作業1:OJ編程