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

📄 element.h

📁 3D Game Engine Design Source Code非常棒
💻 H
字号:
#ifndef ELEMENT_H
#define ELEMENT_H

#include <iostream.h>
#include "elemdbm.h"

class mgcElement
{
public:
	int type;
	void* data;

	mgcElement (int _type, void* _data = 0)
    	{ type = _type;  data = _data; }
	mgcElement (const mgcElement& element)
    	{ type = element.type;  data = element.data; }
	mgcElement& operator= (const mgcElement& element);

	int operator== (const mgcElement& element);
	int operator!= (const mgcElement& element)
		{ return !(*this == element); }

	friend istream& operator>> (istream& istr, mgcElement& element);
	friend ostream& operator<< (ostream& ostr, const mgcElement& element);

	// helper conversions for standard numeric types
	operator char ();
	operator unsigned char ();
	operator short ();
	operator unsigned short ();
	operator int ();
	operator unsigned int ();
	operator long ();
	operator unsigned long ();
	operator float ();
	operator double ();

	// helper assignments for standard numeric types
	mgcElement& operator= (char value);
	mgcElement& operator= (unsigned char value);
	mgcElement& operator= (short value);
	mgcElement& operator= (unsigned short value);
	mgcElement& operator= (int value);
	mgcElement& operator= (unsigned int value);
	mgcElement& operator= (long value);
	mgcElement& operator= (unsigned long value);
	mgcElement& operator= (float value);
	mgcElement& operator= (double value);

	// helper comparisons for standard numeric types
	int operator== (char value);
	int operator== (unsigned char value);
	int operator== (short value);
	int operator== (unsigned short value);
	int operator== (int value);
	int operator== (unsigned int value);
	int operator== (long value);
	int operator== (unsigned long value);
	int operator== (float value);
	int operator== (double value);

	int operator!= (char value)				{ return !(*this == value); }
	int operator!= (unsigned char value)	{ return !(*this == value); }
	int operator!= (short value)			{ return !(*this == value); }
	int operator!= (unsigned short value)	{ return !(*this == value); }
	int operator!= (int value)				{ return !(*this == value); }
	int operator!= (unsigned int value)		{ return !(*this == value); }
	int operator!= (long value)				{ return !(*this == value); }
	int operator!= (unsigned long value)	{ return !(*this == value); }
	int operator!= (float value)			{ return !(*this == value); }
	int operator!= (double value)			{ return !(*this == value); }

// error handling
public:
	static int verbose;
};

#endif

⌨️ 快捷键说明

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