关于C++类设计的两种方式

来源:百度文库 编辑:神马文学网 时间:2024/04/27 21:19:30
先看看MFC的方式:
typedef struct tagSIZE {
LONG cx;
LONG cy;
} SIZE;
class CSize : public tagSIZE
{
public:
CSize();
CSize(SIZE initSize);
BOOL operator==(SIZE size) const;
BOOL operator!=(SIZE size) const;
......
}
几乎所有的MFC的类结构都采用了这种方式(我知道的^_^),很明显的,它把数据结构和对数据结构的操作分开了,这是这种方式的最大的一个好处,这样所有本来应该对类成员单个数据的操作变成了对一个数据结构的操作,给各种实现带来很大的方便,但是,我始终觉得这种方式不够C++,^_^,也有些不够直观,当然,这种方式的好处肯定要多于怀处,要不MFC也不会大量使用了,^_^,这个希望能和群的朋友们讨论讨论哈,
另外一种方式就是最常见的了:
class CSize :
{
public:
CSize();
CSize(CSize initSize);
BOOL operator==(CSize  size) const;
BOOL operator!=(CSize  size) const;
......
pravite:
LONG cx;
LONG cy;
}
哈哈 这种方式是各种C++书上最常见的了,直观,标准的C++样子,
要不有兴趣的朋友一起说说 ^_^......