⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 handleclass.cpp

📁 内存受限系统软件开发一书的代码。(虽不及Gang of Four的模式掷地有声
💻 CPP
字号:

#include <iostream.h>

#define PAUSE() (cin.get(),cin.get())

#define ASSERT( x )  \
((x) ? 0 : &(cout << #x ": Failed: " __FILE__ " " << __LINE__ << endl) \
&& PAUSE() ) 
#define SAY( x ) (cout << x)

class Object { public: int count; };

	Object * objectTable[];

template <class T> class Handle {
public:
	Handle( T** p ) : tableEntry( p ) {}
	// Default copy ctor, assignment, dtor.
	T* operator->() const { return ptr(); }
	T& operator*() const { return *ptr(); }
	operator T*() const { return ptr(); }
private:
	T* ptr() const { return *tableEntry; }
	T** tableEntry;
};


int main() {
    objectTable[0] = new Object;
    Handle<Object> p ( &(objectTable[0]) );
    p->count = 3;
    ASSERT( (*p).count == 3 );
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -