我们如何制作C++类,使得它的对象只能使用new运算符来创建?
null
如果用户试图直接创建一个对象,程序会产生编译器错误。 (A) 不可能 (B) 通过将析构函数私有化 (C) 通过将构造函数私有化 (D) 通过使构造函数和析构函数都私有 答复: (B) 说明: 请参见下面的示例。
// Objects of test can only be created using new class Test { private: ~Test() {} friend void destructTest(Test* ); }; // Only this function can destruct objects of Test void destructTest(Test* ptr) { delete ptr; } int main() { // create an object Test *ptr = new Test; // destruct the object destructTest (ptr); return 0; }
看见 https://www.geeksforgeeks.org/private-destructor/ 更多细节。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END