Time of Update: 2018-12-04
模板方法模式思想:子類的一些共同行為搬到基類中去,除去子類的重複代碼。【基類模板TemplateMode】class TemplateMode{public: TemplateMode(void); virtual ~TemplateMode(void); virtual void MethodOne(void); virtual void MethodTwo(void); void
Time of Update: 2018-12-04
WIN下面處理序間通訊的最常用辦法就是訊息了.下面記錄兩種訊息通訊的方式: --------------------------------------------------------------------------------------------一.第一種辦法,利用註冊Windows全域的訊息.並覆蓋wndProc過程來監聽訊息處理.1. 發送訊息方: private strWM:Cardinal; //定義一個局部變數 ...
Time of Update: 2018-12-04
通過題目“使用物件導向程式設計語言實現一個控制台程式,要求輸入兩個數和運算子號,得到結果”引出【物件導向編程】,指出三個重要特性封裝繼承多態指出了編程的要求:可維護可複用可擴充這裡小結一下設計的思路:按照題目要求,可以分為以下幾個步驟,輸入兩個數字輸入運算子號計算結果輸出結果那這裡涉及到【邏輯部分】和【顯示部分】在【邏輯部分】中,我們考慮要建立類去計算,那麼這個類顯然應該是【運算類】Operation為什嗎?——如果需求要求增加一種運算叫做“fight”,也就是“x fight
Time of Update: 2018-12-04
從《大話設計模式》這本書對策略模式的解析來看,策略模式的思想是:【通過一個通用的上下文類Context,來儲存策略類對象,來提供統一的介面實現策略類的計算。】這樣做的好處:降低了前後端之間的耦合程度;封裝了具體的演算法;——什麼時候使用原則模式?【需要在不同時間應用不同的商務規則】【上下文類】class Context{public: Context(void); Context(Strategy* stra){this->strategy = stra;};
Time of Update: 2018-12-04
前兩天遇到控制項字型顯示不全的現象,如QTreeView的headLabel部分,字型的頂部部分沒有顯示完全,看著難受,糾結了半天~還有同一個頁面的QGroupBox的title部分字型也是頂部顯示不完整,==!解決方案: 1、QTreeview、QTreeWidget、QListView等都有一個header,返回一個QHeaderView類,對該類控制就可以了,設定其高度,或者字型與邊框的間距,下面兩句可以解決問題: QHeaderView
Time of Update: 2018-12-04
-(void)loadEnemies{ //1使用CCTMXObjectGroup類型的指標Object Storage Servicemap當中的enemies對象層 CCTMXObjectGroup *enemies = [map objectGroupNamed:@"enemies"]; //2初始化enemiesArray,這個可變數組用於跟蹤關卡的enemies enemiesArray = [NSMutableArray array];
Time of Update: 2018-12-04
很多Qt愛好者想發布自己的Qt軟體,但卻發現在其他沒有安裝Qt SDK的機器上無法運行,這就是本文想要說明的問題。現在網上大部分軟體都要發布自己開發的應用程式,都會打包到exe檔案中,待安裝完exe檔案後,就會產生很多小檔案,其實原理都一樣,只是各自使用的打包工具不能罷了。本文主要介紹在Windows平台如何打包自己的Qt程式,相對比較簡單的,這並沒有正規軟體的嚮導流程。在Windows系統中,要打包Qt程式,主要會用到3個工具包,分別是:1.hap-depends 查看軟體的依賴庫(*.
Time of Update: 2018-12-04
原來面板模式使用的是分層的思想!之前在使用ASP.NET做開發的時候,就涉及到經典的三層架構,資料訪問層、商務邏輯層、展示層之間的關係,就是一種面板模式的應用啊!啥也不說了,上代碼!《大話設計模式》例子C++實現【Facade類】class Facade{public: Facade(void); virtual ~Facade(void); void Method(void);protected: SubSystemOne* subSystemOne;
Time of Update: 2018-12-04
在建立的IOS項目,在項目的ios檔案夾下的RootViewController.mm檔案中修改如下代碼:【1】- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return UIInterfaceOrientationIsLandscape( interfaceOrientation );}改為-
Time of Update: 2018-12-04
今天看到裝飾者模式,中間提到了建造者模式,雖然還沒看過建造者模式,但是想想看就應該知道二者的區別:前者是對象的組成是不固定的,比如一個person,想穿幾件clothes都可以,而建造者模式,就是所有的組成都必須是確定的,就好像某個型號的電腦,必須包含主板、顯卡、記憶體……具體的應用還不太清晰。但是原理基本上是這樣的:一個【基類Component】,提供統一的介面,子類主要分為【裝飾類DecoratorComponent】和【被裝飾類PersonComponent】【DecoratorCompo
Time of Update: 2018-12-04
http://hi.baidu.com/catproste2012/item/d7baa32d3f51ee0943634a18首先感謝上文的博主,雖然資料庫的方法沒能正確顯示中文,但是QSettings更有效解決了這個問題; 此過程,首先要找到py.txt類似的檔案,然後讀檔案,可以分組儲存每個拼音對應的漢字,也可以儲存拼音對應的漢字串鏈表,本人採用的是後者,在讀取後再用鏈表處理,這樣讀寫相對方便快捷。 註:py.txt檔案不好找,我找了半天,先賺點積分,嘿嘿,1分~http://
Time of Update: 2018-12-04
filter函數看名字以為是濾波函數,但又對濾波的概念不是太清晰,所以是一頭霧水。。。 看了百度知道裡面的一個最佳答案,自己看了半天,沒弄明白,不知道怎麼那麼多人頂,自己試了好多資料,都一次次的推翻得到的結果 最後還是靈機一現,看了出來,哈哈... 先看別人怎麼解釋的: 看樓主的意思主要是想實現差分方程先從簡單的說起:filter([1,2],1,[1,2,3,4,5])實現 y[k]=x[k]+2*x[k-1]y[1]=x[1]+2*0 %(x[
Time of Update: 2018-12-04
今天看到《大話設計模式》第8章,對Factory 方法模式的原理進行了學習。總的說來,原廠模式的理念是圍繞著:open for extension, close for modification 也就是“開放-封閉原則”的設計原則而誕生的一個產物。由於經驗還比較少,不知道其具體用意。最後會總結一下疑惑之處。這裡先上練習的代碼。【運算基類】class Operator{public: Operator(void); virtual ~Operator(void);
Time of Update: 2018-12-04
例子就是qtdemo裡面的動態布局的例子,詳細代碼就不具體列出了,這裡主要講下如何清空布局,以及遇到的問題及其解決辦法。核心代碼: void Dialog::rotateWidgets() { Q_ASSERT(rotableWidgets.count() % 2 == 0); foreach (QWidget *widget, rotableWidgets) rotableLayout->removeWidget(widget);
Time of Update: 2018-12-04
很多人會問,cocos2d-x有內建的定時器為什麼還要使用nstimer呢?想瞭解詳情請移步至http://www.cocoachina.com/bbs/read.php?tid=150090和http://blog.csdn.net/icemilk00/article/details/9330973(CSDN不穩定,有時候進不去)。沒辦法才用NSTimer的。但是如何在cocos2d-x裡面使用NSTimer呢?請大家幫幫忙。兄弟,這個問題我也遇到過了,我是這樣處理的
Time of Update: 2018-12-04
原型模式這一設計模式的出現,個人感覺是源於“如何複製一個執行個體對象”這樣的一個需求而誕生的。類的成員資料中,又大致分為類類型(需要new)成員資料和基礎資料型別 (Elementary Data Type)(不需要new)成員資料兩種。因此在複製一個執行個體對象的時候,針對類的成員資料是類類型的情況下,考慮【引用其地址】或者【另外開闢記憶體空間】而對應形成的【淺複製】和【深複製】的複製機制。下面寫一下自己的練習代碼【作為成員資料的類別SubPrototype】class
Time of Update: 2018-12-04
個人總結:建造者模式是基於這樣的思想——建造者知道如何?各個部分(Builder類 中成員函數的實現),這些部分是組成產品的工序的分割,需要一個統一的調度者來指定完成生產的工序,並指揮建造者去執行建造(Director類的調度函數ConstructBuilding中指定了Builder類中成員函數PartialConstructA、PartialConstructB的執行順序)。啥也不說了,上代碼【Builder基類】class Builder{public: Builder(void);
Time of Update: 2018-12-04
資源檔The Qt resource system is a platform-independent mechanism for storing binary files in the application's executable. This is useful if your application always needs a certain set of files (icons, translation files, etc.) and you don't want to run
Time of Update: 2018-12-04
http://yinzhezq.blog.163.com/blog/static/1648628902011231382332/參考博文,本人按照乘法的計算方法,即按位相乘、錯位相加的辦法,修改演算法如下:#include<iostream> #include<string> using namespace std; void MUL_max(string a,int la,string b,int lb,int **c);//相乘函數void ADD_max(int *
Time of Update: 2018-12-04
Qt調用函數時,用以下方法,QScriptEngine engine; engine.evaluate("function fullName() { return this.firstName + ' ' + this.lastName; }"); engine.evaluate("somePerson = { firstName: 'John', lastName: 'Doe' }"); QScriptValue global = engine.globalObject();