Time of Update: 2018-12-05
chain.h#pragma once#include <QDebug>class CHandle{public:CHandle():m_handle(0){}CHandle(CHandle *hadle):m_handle(hadle){}virtual ~CHandle(){if (m_handle){delete m_handle;}}virtual void handleRequest() = 0;virtual void setHandle(CHandle* handle)
Time of Update: 2018-12-05
Bridge模式使得抽象和實現能夠相對獨立。bridge.h#pragma once#include <QDebug>class CImplementor{public:virtual void operateImp() = 0;};class CRectImplementor : public CImplementor{public: CRectImplementor(){}void operateImp(){ qDebug() << "this is a Rect";
Time of Update: 2018-12-05
1.定義Collection 類在C#語言中定義一個Collection 類最簡單的方法就是把在System.Collections 庫中已找到的抽象類別CollectionBase 類作為基礎類。此類提供了一套可以實現構造自身群集的抽象方法集合。CollectionBase 類還提供了一種基礎的資料結構——InnerList(一個ArrayList)。此結構可以用作自身類的基礎。本章節會看到如何使用CollectionBase 來構造Collection類。2. 實現Collection
Time of Update: 2018-12-05
例如int a = 2;switch (a){ case 1: NSArray* array = [[NSArray alloc] init]; [array release]; break; case 2: break;}這樣的 case會報錯: : Semantic Issue: Unexpected interface name 'NSArray': expected expression修改的方法:在case 語句中加上括弧
Time of Update: 2018-12-05
C++語言支援函數重載,C 語言不支援函數重載。函數被C++編譯後在庫中的名字與C 語言的不同。假設某個C函數的聲明如下:void foo(int x, int y);該函數被C編譯器編譯後在庫中的名字為_foo,而C++編譯器則會產生像_foo_int_int之類的名字用來支援函數重載和型別安全串連。由於編譯後的名字不同,C++程式不能直接調用C函數。C++提供了一個C串連交換指定符號extern“C”來解決這個問題。例如:extern “C”{ void foo(int x, int
Time of Update: 2018-12-05
標準c++中主要有四種強制轉換類型運算子: const_cast,reinterpret_cast,static_cast,dynamic_cast等等。 1)static_cast<T*>(a) 將地址a轉換成類型T,T和a必須是指標、引用、算術類型或枚舉類型。 運算式static_cast<T*>(a), a的值轉換為模板中指定的類型T.在運行時轉換過程中,不進行類型檢查來確保轉換的安全性。 例子: class B { ... }; class D :
Time of Update: 2018-12-05
1、靜態全域變數定義:在全域變數前,加上關鍵字 static 該變數就被定義成為了一個靜態全域變數。特點:A、該變數在全域資料區分配記憶體。B、初始化:如果不顯式初始化,那麼將被隱式初始化為0。C、訪變數只在本源檔案可見,嚴格的講應該為定義之處開始到本檔案結束。D、檔案範圍下聲明的const的常量預設為static儲存類型。2、靜態局部變數定義:在局部變數前加上static關鍵字時,就定義了靜態局部變數。特點:A、該變數在全域資料區分配記憶體。B、初始化:如果不顯式初始化,那麼將被隱式初始化為0
Time of Update: 2018-12-05
《Singleton.h》#include<iostream>#include<string>using namespace std;class A{public: static A* GetInstance(); void ShowAddress();private:A();virtual ~A();static A* m_p;};《Singleton.cpp》#include "Singleton.h"A*A::m_p = NULL;A::A(){
Time of Update: 2018-12-05
《TemplateMethod1.h》#include <iostream>#include <string> using namespace std;class A{public: A(){}; virtual ~A(){}; void Method();protected: virtual void b() = 0; virtual void c() = 0;};class B: public A{public: B(){};
Time of Update: 2018-12-05
mediator.h#pragma once#include <QDebug>class CMediator;class CCountry{public:virtual void setMediator(CMediator *mediator) = 0;virtual void sendMessage(const QString& message) = 0;virtual void getMessage(const QString& message) =
Time of Update: 2018-12-05
這個模式利用了回呼函數技術。command.h#pragma once#include <QDebug>class CCommand{public:virtual void execute() = 0;};class CReceiver{public:void action(){qDebug() << "action fact!";}};class ConCreateCommand : public
Time of Update: 2018-12-05
轉自:http://www.yesky.com/483/1800983.shtml2004-05-25 10:50 來源:唯C世界 作者: 責任編輯:方舟·yesky 評論(0)問題的提出:我們在編製程式時,經常要用到清屏處理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但這些均為一般意義的清屏,並未顯示其清屏規律。而有時為了達到清屏的藝術美觀,往往對清屏有一些具體要求,如:開幕清屏、閉幕清屏、上清屏、下清屏、中清屏。為此,這裡用C語言編製了幾個子函數,用於程式中時,
Time of Update: 2018-12-05
using System; namespace bbbb{ class bbb { private const int account = 5; static void Main(string[] args) { int temp; int[] num = new int[5]; for (int i = 0; i < account; i++)
Time of Update: 2018-12-05
C++儲存修飾符解釋(純理論部分)在C++中,儲存空間主要是指變數或者函數或者類(下文中為了方便都稱為標識符)的可見度和使用範圍。為此C++提供下面幾個儲存空間修飾(storageclassspecifiers),這些修飾符告訴編譯器標識符的生存周期和可見度(可以理解為可引用性),以及這些標識符是應該如何被儲存。生存空間修飾符:autoregisterstaticextern本文分成幾個部分,每一個部分相對獨立。////////////////////////////////////////
Time of Update: 2018-12-05
JAVA與C++::關於JNI中文字串操作問題總結/** * *@Author ZosaTapo * *@E-Mail dertyang@263.net * *@QQ 1670967 * */[問題簡單背景]使用JAVA編程有時候需要使用JNI來實現效率方面或者是其他方面的問題。在JNI使用中不得不面臨的問題就是中文問題(如果你是老外,並且不關心中國建設,那就不用看了;或者你已經知道如何解決 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Time of Update: 2018-12-05
物件導向的語言諸如JAVA提供了Interface來實現介面,但C++卻沒有這樣一個東西,儘管C++ 通過純虛基類實現介面,譬如COM的C++實現就是通過純虛基類實現的(當然MFC的COM實現用了嵌套類),但我們更願意看到一個諸如 Interface的東西。下面就介紹一種解決辦法。首先我們需要一些宏://// Interfaces.h//#define Interface class#define DeclareInterface(name) Interface name { /
Time of Update: 2018-12-05
The keyword this identifies a special type of pointer. Suppose that you create an object named x of class A, and class A has a nonstatic member function f(). If you call the function x.f(), the keyword this in the body of f() stores the address of
Time of Update: 2018-12-05
上一次我們主要說明數組,指標,指標數組,數組指標這幾個很基本的概念,不過有一點上一次我沒有提及,那就是我們使用typedef定義指向數組指標的數組,這個叫法是不是很拗口呀,不過我們看具體的程式就清楚了。file://----------數組--------------int a[2]={10,20};int b[2]={30,40};file://簡單的指向兩個元素數組的指標int (*p2arr)[2]=&a;file://---------注意這裡的變化--------file://
Time of Update: 2018-12-05
http://www.cnblogs.com/shiyangxt/archive/2008/09/14/1290827.html C語言實現源碼,供參考!餘弦函數:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include<stdio.h>#include<math.h>void main(){double y;int
Time of Update: 2018-12-05