我们如何使用new来限制类对象的动态分配?
(A)通过重载新运算符
(B)通过创建一个空的私有新运算符。
(C)通过使空的new和new []运算符私有
(D)通过重载new运算符和new []运算符答案: (C)
说明:如果我们声明new和[] new运算符,则无法在任何地方(在类内和类外)创建对象。
请参见以下示例。我们不能使用new分配Test类型的对象。
#include
#include
#include
using namespace std;
class Test {
private:
void* operator new(size_t size) {}
void* operator new[](size_t size) {}
};
int main()
{
Test *obj = new Test;
Test *arr = new Test[10];
return 0;
}
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。