📄 coord.h
字号:
#ifndef COORD_H
#define COORD_H
#include <stdarg.h>
#include <iostream.h>
class mgcCoordinate
{
public:
// constructors and destructor
mgcCoordinate (int _dimensions=0, const int* initial=0);
mgcCoordinate (int _dimensions, int initial_all);
mgcCoordinate (int _dimensions, int initial0, int initial1, ...);
mgcCoordinate (const mgcCoordinate& coordinate);
~mgcCoordinate ()
{ delete[] component; }
// data access
int Dimensions () const
{ return dimensions; }
int* Components () const
{ return component; }
int& operator[] (int d) const;
// assignments
mgcCoordinate& operator= (const mgcCoordinate& coordinate);
mgcCoordinate& operator= (int value);
// comparisons
int operator== (const mgcCoordinate& coordinate) const;
int operator!= (const mgcCoordinate& coordinate) const
{ return !(*this == coordinate); }
int operator< (const mgcCoordinate& coordinate) const;
int operator<= (const mgcCoordinate& coordinate) const;
int operator> (const mgcCoordinate& coordinate) const;
int operator>= (const mgcCoordinate& coordinate) const;
// arithmetic updates
mgcCoordinate& operator+= (const mgcCoordinate& coordinate);
mgcCoordinate& operator-= (const mgcCoordinate& coordinate);
mgcCoordinate& operator+= (int value);
mgcCoordinate& operator-= (int value);
mgcCoordinate& operator*= (int value);
mgcCoordinate& operator/= (int value);
// arithmetic operations
mgcCoordinate operator+ (const mgcCoordinate& coordinate);
mgcCoordinate operator- (const mgcCoordinate& coordinate);
mgcCoordinate operator+ (int value);
mgcCoordinate operator- (int value);
mgcCoordinate operator* (int value);
mgcCoordinate operator/ (int value);
mgcCoordinate operator- ();
friend mgcCoordinate operator* (int value, mgcCoordinate& coordinate);
friend ostream& operator<< (ostream& ostr, const mgcCoordinate&);
private:
int dimensions;
int* component;
void Create (int _dimensions, const int* initial);
// error handling
public:
static int verbose;
static unsigned error;
static void Report (ostream& ostr);
private:
static const unsigned allocation_failed;
static const unsigned zero_dimension;
static const unsigned invalid_dimension;
static const unsigned incompatible_dimensions;
static const char* message[4];
static int Number (unsigned single_error);
static void Report (unsigned single_error);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -