class Buffer{ private : void *buf; public : Buffer(int size=0){ buf = size > 0 ? malloc(size) : nullptr; } virtual ~Buffer() = 0; virtual void Clear() { free(buf); buf=nullptr; } }; Buffer::~Buffer() {}
时间: 2024-04-05 12:33:05 浏览: 61
这段代码实现了一个抽象基类 Buffer,它有一个成员变量 buf 用于存储数据。构造函数会根据传入的 size 参数分配内存空间,如果 size 小于等于 0,则 buf 被赋值为 nullptr。Clear 函数用于清空 buf 指向的内存空间,这里使用了 free 函数释放内存。
需要注意的是,Buffer 类的析构函数是一个纯虚函数,意味着它是一个抽象类,不能实例化。子类必须重写它的析构函数来释放自己的资源。
阅读全文