关于c++:打造可复用的数据结构库3-顶层父类创建

37次阅读

共计 614 个字符,预计需要花费 2 分钟才能阅读完成。

1 顶层父类存在的意义

  1. C++ 的编译在有些轻微的中央存在雷同的代码在不同编译器下的编译的后果不同的浮现。例如:new 失败当前,有些抛出异样,有的返回 nullptr。有的编译器不反对异样···,所以要在内存的操作做一个对立的解决。
  2. 尽量应用单继承形式解决,避免架构问题呈现。

    综上:设计一个顶层父类,所有的数据结构都继承自这个类,这个类解决动态内存申请行为。

2 类的次要内容

    class Object
    {
    public:
            void * operator new (unsigned int size) throw();
            void  operator delete (void *p) ;

            void * operator new[] (unsigned int size) throw();
            void  operator delete[] (void *p) ;

            virtual ~Object()=0;}

3 类的实现

void * Object :: operator new (unsigned int size) throw()
{return malloc( size);
}
void Object ::  operator delete (void *p)
{free( p);
}

void * Object ::   operator new[] (unsigned int size) throw()
{return malloc( size);
}
void  Object ::  operator delete[] (void *p)
{free( p);
}

Object ::   ~Object()
{

}

正文完
 0