題目內容:
以單例模式建立乙個螢幕screen物件。
輸入格式:
用空格分開的兩個整數,代表螢幕解析度
輸出格式:
用空格分開的兩個整數,代表螢幕解析度。隨後有換行符
輸入樣例:
800 600
輸出樣例:
800 600
具體要求:
請將如下**中的缺失部分補全:
補全screen類中的資料域成員,給出適當的資料型別
a. 代表螢幕寬和高的資料域成員
b. 儲存單例物件位址的乙個指標資料成員 instance
c. 注意資料域成員是否應該使用 static 關鍵字修飾
補充getwidth與getheight函式
補全getinstance的函式體
補充screen類的特殊資料成員初始化語句
判斷 instance 資料域成員是否指向乙個 screen 物件;
若 instance 未指向有效的 screen 物件,則設定螢幕的高和寬;
然後建立乙個 screen 物件(使用 new 運算子),將該物件位址存入 instance
**
#include #include using namespace std;
class screen ;
~screen()
public:
//----補充 getwidth() 與 getheight() 函式,
unsigned int getwidth()
unsigned int getheight()
static screen* getinstance(unsigned int width = 640, unsigned int height = 480)
return instance;
}};screen* screen::instance = 0;
//----補充screen類的特殊資料成員初始化語句
int main()
C 設計模式 單例類
本文假設有乙個manager管理類,單例類懶漢 餓漢模式的實現,和單例類的多執行緒安全性,最後介紹meyers singleton寫法。當第一次要用單例類的時候,再產生例項。是一種典型的拖延 lazy 策略。類宣告 class manager 類定義 單例物件指標初始化為nullptr,防止指向了未...
單例設計模式的練習
單例設計模式 有關的知識點 class a object def init self print 這是 init 方法 def new cls print 這是 new 方法 return object.new cls 返回的是乙個例項了的物件 就是self new 至少要有乙個引數cls,代表要例...
單例設計模式程式設計練習
單例設計模式 是指在程式的執行過程中,只有乙個例項的存在。同乙個類的若干物件需要訪問同乙個資料,這個資料儲存在靜態變數中 如果不同的類的若干物件訪問同乙個資料,其中乙個解決方案就是單例。把構造方法私有化 在類中提供乙個私有的靜態的本類的物件 提供乙個公共的靜態的方法,返回這個物件 singleton...