2023-08-07 18:18
门头沟学院 C++ 0 点赞 评论 收藏
分享
2023-08-05 00:05
门头沟学院 C++ 嘟嘟7噜:这个是很常见的面试题了吧,定义堆上的对象,意思就是只能new。因此可以考虑私有化析构函数。
当然不仅需要私有化析构函数,还需要类内部提供delete的接口,不然你new了,外部没法delete的。
另外私有不要设置为private,设置成protected是最好的。这样子类还是能调用父类析构函数的。
至于定义只能在栈里面生成对象的类,我看了很多人都是说重载operator new,并且设置为私有。
其实这样是不行的,你自己重载了operator new,仍然可以通过::new的方式,调用全局作用域的new函数,绕过你自己重载的operator new,所以这个我感觉不能定义出这样的类
0 点赞 评论 收藏
分享
2023-07-27 21:05
门头沟学院 C++ 0 点赞 评论 收藏
分享
关注他的用户也关注了: